--文档表
if exists (select * from sysobjects where name = 'T_DocumentInfo')
drop table T_DocumentInfo;
CREATE TABLE T_DocumentInfo(
	file_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,
	file_name NVARCHAR(200) NOT NULL,--文档名称
	alias_name NVARCHAR(200) NULL,--文档别名
	font_type NVARCHAR(200) NULL,--字号
	file_type NVARCHAR(100) NOT NULL,--文档类型txt,doc,
	file_size DECIMAL(18,2) NOT NULL DEFAULT(0),--文档大小
	--新增
	file_money DECIMAL(18,2) NOT NULL DEFAULT(0),--文档定价
	down_number INT NULL DEFAULT(0),--下载次数
	file_classify NVARCHAR(100) NOT NULL,--文档分类（计算机/科学/自然类）
	file_status INT NOT NULL DEFAULT(0),--文档状态：（私有:0 /(公开)、待审核:1 免费共享=3、已下架=4、已上架=5 、审核不通过=6）	
	--新增
	issue_start DATE NULL DEFAULT(GETDATE()),--颁布开始时间
	doc_type NVARCHAR(100) NOT NULL,--文件类型：函，发，呈等
	doc_number NVARCHAR(100) NOT NULL,--文号【楼层】版本号[verNumber]
	issue_end DATE NULL,--颁布结束时间
	issue_name NVARCHAR(50) NULL,--发布机构
	create_name NVARCHAR(50) NOT NULL,--创建人
	create_id INT NOT NULL,--创建人ID
	create_time DATE NOT NULL DEFAULT(GETDATE()),--创建时间
	attach_url NVARCHAR(2000) NOT NULL,--文件存放路径
	if_remove BIT NOT NULL DEFAULT(0),--是否进入回收站1：回收站，0:正常文档
	file_note NVARCHAR(1000) NULL, --备注 
	--VR新增
	browse_num int not null default(0),--浏览次数
	quote_num int NOT NULL DEFAULT(0),--引用次数
	folder_num NVARCHAR(20) NOT NULL DEFAULT(''), --编号 V201901080001D
	folder_author NVARCHAR(20) NULL,--作者
	folder_phone NVARCHAR(20) NULL,--联系电话
	folder_source NVARCHAR(50) NULL,--来源
	update_name NVARCHAR(50) NULL,--更新人员
	folder_limit NVARCHAR(50) NULL,--权限
	update_time DATE NOT NULL DEFAULT(GETDATE()),--更新时间
	floor_level NVARCHAR(200) null,--楼层列表
	pag_num int not null default(0), --最大人数
	
	pro_type INT DEFAULT(1) NOT NULL,--产品类别 0:创客，1：VR，2：虚拟仿真
	vr_star INT NOT NULL DEFAULT(0), --点赞次数
	is_game INT DEFAULT(0) NOT NULL,--是否属于头记比赛课件
	game_start DATETIME NULL,--比赛开始时间
	game_end DATETIME NULL,--比赛结束时间
	file_code NVARCHAR(50) NOT NULL default(''),--课件表添加--课件代码
	file_order INT NOT NULL DEFAULT(0),--排序字段
	spread_url NVARCHAR(500) null, --宣传链接
	is_recommend BIT NOT NULL DEFAULT(0),--是否推荐
	approve_time DATETIME NULL,--审批时间
	approve_name NVARCHAR(50) NULL,--审核人名称
	approve_note NVARCHAR(800) NULL,--审核意见
	talk_num INT NOT NULL DEFAULT(0),--评论次数
	hold_num INT NOT NULL DEFAULT(0),--收藏次数
	play_num INT NOT NULL DEFAULT(0),--在线人数
	pay_num INT NOT NULL DEFAULT(0),--购买次数
	store_top BIT NOT NULL DEFAULT(0),--商铺-商品是否推荐
	store_id INT NOT NULL DEFAULT(0) ,--商铺id
	isEntity BIT NOT NULL DEFAULT(0),--是否实物【0：虚拟商品；1：实物商品】
	share_num INT NOT NULL DEFAULT(0),--分享次数
	finish_time INT NOT NULL DEFAULT(0),--完成学时：单位分钟数
	gps_x decimal(10,7) null,--经度
	gps_y decimal(10,7) null,--纬度
	is_mian bit not null default(0),--是否主商品
	is_batch bit not null default(1),--是否允许批量购买
	pro_form INT NOT NULL DEFAULT(1),--产品形态 【VR=1；虚拟仿真=2；AR=3；】
	allow_edit bit not null default(0), --是否允许编辑（0：不允许，1：允许）
	isHot BIT NOT NULL DEFAULT(0),--是否热门推荐
	qr_code NVARCHAR(max) NULL, --二维码字段
	vUrl NVARCHAR(200) NULL, --商品视频地址
	video_url NVARCHAR(200) DEFAULT(0) NULL, --录屏地址 
	pro_date DATETIME NULL,--商品生产时间
	programId INT NOT NULL DEFAULT(0),--应用id【file_id】
    --roomPwd NVARCHAR(100) NULL, --房间密码【未使用被（qr_code）字段代替】
	image_url NVARCHAR(500) NULL --前端应用缩略图地址
);

--商品历史审核版本表【应用审核】
IF exists (select * from sysobjects where name = 'T_DocumentInfoLog')
	DROP table T_DocumentInfoLog;
CREATE TABLE T_DocumentInfoLog(
	version_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,
	file_id INT NOT NULL,--商品id
	file_code NVARCHAR(50) NOT NULL default(''),--商品代码
	file_name NVARCHAR(200) NOT NULL,--文档名称
	file_note NVARCHAR(1000) NULL, --备注 
	pag_num int not null default(0), --最大人数[playerNum]
	finish_time INT NOT NULL DEFAULT(0),--最大时长【秒】
	file_order INT NOT NULL DEFAULT(0),--排序字段
	folder_id INT NOT NULL DEFAULT(0),--所属目录id
	folder_name NVARCHAR(500) NULL, --所属目录名称
	attach_url NVARCHAR(2000) NOT NULL,--应用附件在文件服务器的访问地址
	image_url NVARCHAR(500) NOT NULL, --前端应用缩略图地址
	doc_number NVARCHAR(100) NOT NULL,--版本号[verNumber]
	versionNote NVARCHAR(200) NULL,--版本更新说明
	file_size DECIMAL(18,2) NOT NULL DEFAULT(0),--应用大小，数字型，单位：Kb[appSize]
	create_name NVARCHAR(50) NOT NULL,--创建人
	create_id INT NOT NULL,--创建人ID
	create_time DATETIME NOT NULL DEFAULT(GETDATE()),--创建时间
	update_name NVARCHAR(50) NULL,--更新人员
	update_time DATETIME NOT NULL DEFAULT(GETDATE()),--更新时间
	approve_name NVARCHAR(50) NULL,--审核人员
	approve_time DATETIME NULL,--审核时间
	approve_note NVARCHAR(200) NULL,--审核意见
	pro_type INT DEFAULT(6) NOT NULL,--产品类别 0:创客，1：VR，2：虚拟仿真
	page_type NVARCHAR(100) NOT NULL,--类别 
	isEntity BIT NOT NULL DEFAULT(0),--是否实物【0：虚拟商品；1：实物商品】
	file_status INT NOT NULL DEFAULT(1),--文档状态：（待审核:1 、已上架=5 、审核不通过=6）	
	store_id INT NOT NULL DEFAULT(0),--商铺id【folder_id】
	file_money DECIMAL(18,2) NOT NULL DEFAULT(0),--最低价格
	listPrice NVARCHAR(100) NOT NULL --价格明细【月：价格，月：价格】如：1:5,6:10,12:20,0:50
);

--注意：创建节点指定类别
--0：我的文档：仅自己可见
--1：我的分享：我分享给别人的文档
--2：分享文档：仅分享给自己的文档
--3：公用文档 进入全员可见
--4：回收站 自己删除的文档
--文档目录结构表：用于仅自己可见文档查询
if exists (select * from sysobjects where name = 'T_DocumentFolder')
drop table T_DocumentFolder;
CREATE TABLE T_DocumentFolder(
	folder_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	folder_name NVARCHAR(200) NOT NULL,--名称
	folder_url NVARCHAR(200) NULL,--地址
	folder_pid INT NOT NULL,--父ID
	folder_image NVARCHAR(200) NULL,--图标
	folder_order INT NULL DEFAULT(1),--排序
	was_share BIT NOT NULL DEFAULT(0),--是否允许分享到此目录 默认不允许分享到此目录树上
	if_create_child BIT NOT NULL DEFAULT(1),--是否允许创建子目录,默认允许
	read_only BIT NOT NULL DEFAULT(0),--是否只读 默认不是只读
	if_sys BIT NOT NULL DEFAULT(0),--是否属于系统字段，0:默认不是系统字段,1:属于系统字段，系统字段将在权限设置中显示
	doc_type INT NOT NULL DEFAULT(0),--0:仅自己，1：我的分享，2：分享文档，3：公有文档,4：回收站, 5：待审核资源
	create_id INT NOT NULL DEFAULT(0),--创建人ID,0表示系统目录结构
	create_name NVARCHAR(50) NULL,--创建人
	create_time DATE NOT NULL DEFAULT(GETDATE()),--创建时间
	have_child BIT NOT NULL DEFAULT(0), --是否有子节点，默认没有
	page_type NVARCHAR(100) NULL,--来至那个页面（根据页面参数pageType取值存储,默认不传来至于收文管理）

	unit_code NVARCHAR(100) NULL, --所属单位
	file_code NVARCHAR(100) NOT NULL DEFAULT(''), --体验记录添加：作品id
	folder_note NVARCHAR(500) NULL,--备注
	rest_type NVARCHAR(200) NULL,
	founder_login NVARCHAR(50) NULL, --创始人登录名
	founder_name NVARCHAR(50) NULL, --创始人名字
	founder_id INT NOT NULL DEFAULT(0),--创始人名id
	learn_num INT NULL DEFAULT(0),--学习人数
	update_name NVARCHAR(50) NOT NULL DEFAULT(''),--更新人
	update_date DATETIME DEFAULT(GETDATE()) NOT NULL,--更新时间
	langCode NVARCHAR(50) NOT NULL DEFAULT(LOWER(REPLACE(newid(), '-', ''))) UNIQUE
	enLang NVARCHAR(50) null,--英文名
	is_share BIT NOT NULL DEFAULT(0), --是否共享
	is_recommend BIT NOT NULL DEFAULT(0), --是否推荐
	levels INT NOT NULL DEFAULT(0),--层级
	focus_num INT NOT NULL DEFAULT(0),--收藏关注数
	star_num INT NOT NULL DEFAULT(0),--点赞数
	mater_type NVARCHAR(100) NULL, --素材格式字段
	folder_note NVARCHAR(500) NULL,--备注
	gps_x decimal(10,7) null,--经度
	gps_y decimal(10,7) null,--纬度
	bs_type nvarchar(200) null, --服务类别
	bs_note nvarchar(1000) null, --店铺简介
	bs_url nvarchar(200) null, --【出品】
	floor_level NVARCHAR(200) null,--楼层列表
	statr_partner BIT not null default(1),--启用合伙人
	city NVARCHAR(200) NULL,--店铺城市
	addr NVARCHAR(300) NULL,--店铺地址
	stayNum INT NOT NULL DEFAULT(0) --对应商品入住人数
);

--目录缩略图记录表
if exists (select * from sysobjects where name = 'T_DocBagFolderRecord')
drop table T_DocBagFolderRecord;
exec P_CreateTable 'T_DocBagFolderRecord','文档缩略图记录表',
'bag_id,主键,int,1
|folder_id,文档ID,int,1
|folder_name,图片名称,100,1
|folder_type,图片类型,int,1 --【0:横版缩略图（4:3）;1:竖版缩略图（3:4）】
|file_url,缩略图地址,500,1
|create_date,添加时间,datetime,1
|create_id,创建人ID,int,1
|create_name,创建人,20,1',1;
exec P_CreateIndex 'T_DocBagFolderRecord','bag_id',1,1;
exec P_CreateDefault 'T_DocBagFolderRecord','create_date','GETDATE()';
GO

--文档--目录对于关系表：用于公有文档查询
if exists (select * from sysobjects where name = 'T_DocumentFolderRelation')
drop table T_DocumentFolderRelation;
CREATE TABLE T_DocumentFolderRelation(
	fr_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	file_id INT NOT NULL,--文档ID
	folder_id INT NOT NULL,--目录ID
	create_id INT NOT NULL--文档创建人
);

--文档分享表：用于分享文档查询
if exists (select * from sysobjects where name = 'T_DocumentSetType')
drop table T_DocumentSetType;
CREATE TABLE T_DocumentSetType(
	ft_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	file_id INT NOT NULL,--文档ID
	folder_id INT NOT NULL,--分享到的目录 系统提供的目录树都可以被用于指定分享
	share_id INT NOT NULL,--共享人ID
	role_id INT NULL DEFAULT(0),--指定分享给的角色
	user_id INT NULL DEFAULT(0), --指定分享给的用户id
	share_date datetime not null default(getdate())-- 分享时间
	--分享给三个同时为0 表示分享给全员
);

if exists (select * from sysobjects where name = 'T_DocFolderPermissRelation')
drop table T_DocFolderPermissRelation;
CREATE TABLE T_DocFolderPermissRelation(
	fp_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	folder_id INT NOT NULL,--菜单ID	
	per_id INT NOT NULL--权限ID
);

--添加文档配置数据
DELETE T_PermissConfig WHERE per_type='docMenu'
INSERT INTO T_PermissConfig(per_type,per_name,pc_openUrl,pc_saveUrl,pc_width,pc_height)
VALUES('docMenu','文档菜单权限','/DocManager/DocLimitList?per_id=','/DocManager/SaveDocLimitData/','600px','95%');

--素材、作品--用户 点赞表
if exists (select * from sysobjects where name = 'T_DocumentUserStar')
drop table T_DocumentUserStar;
CREATE TABLE T_DocumentUserStar(
	us_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	file_id INT NOT NULL,--文档ID
	create_id INT NOT NULL,--点赞人id
	create_name NVARCHAR(50) NOT NULL --点赞人姓名
);

--0.0 广告表（头记）
if exists (select * from sysobjects where name = 'T_VRBoardAD')
	drop table T_VRBoardAD;
CREATE TABLE T_VRBoardAD(
	ad_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	ad_order INT NOT NULL DEFAULT(0),--排序字段
	ad_status INT NOT NULL DEFAULT(0),--状态，1：待发布，2：已发布，3：已删除
	pro_type INT NOT NULL,--产品类别 【VRPPT=1； 创客=2；头记=3；校史馆=4；】
	ad_type NVARCHAR(50) NOT NULL,--类别【广告、公告】来至于：字典
	ad_url NVARCHAR(500) NULL,--图片文件存放路径
	ad_title NVARCHAR(200) NOT NULL,--标题
	start_time DATETIME NOT NULL DEFAULT(GETDATE()),--广告开始时间
	end_time DATETIME NOT NULL DEFAULT(GETDATE()),--广告结束时间
	ad_content NVARCHAR(2000) NULL,--内容	
	create_id INT NOT NULL,--创建人id
	create_name NVARCHAR(50) NOT NULL,--创建人名称
	create_time DATETIME NOT NULL DEFAULT(GETDATE()),--创建时间
	update_id INT NOT NULL,--更新人id
	update_name NVARCHAR(50) NOT NULL,--更新人名称
	update_time DATETIME NOT NULL DEFAULT(GETDATE()),--更新时间 
	ad_note NVARCHAR(500) NULL, --备注
	platType INT NOT NULL DEFAULT(2),--平台类别【1：小程序；2：web；3：客户端】
	group_name NVARCHAR(100) null,--分组名称
	video_url NVARCHAR(300) null,--视频地址
	store_id INT NOT NULL DEFAULT(0) --店铺id【度度圈folder_id】
);

--关卡课件表
IF exists (select * from sysobjects where name = 'T_VRCustomPass')
	DROP table T_VRCustomPass;
CREATE TABLE T_VRCustomPass(
	cp_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	cp_code NVARCHAR(50) NOT NULL default(''),--关卡代码，唯一值
	file_id INT NOT NULL,--课件id(文件)
	file_name NVARCHAR(200) NOT NULL,--课件标题
	cp_name NVARCHAR(100) NOT NULL,--关卡名称
	create_name NVARCHAR(50) NOT NULL,--创建人
	create_date DATETIME NOT NULL DEFAULT(GETDATE()),--创建时间
	update_name NVARCHAR(50) NOT NULL,--更新人
	update_date DATETIME NOT NULL DEFAULT(GETDATE()),--更新时间
	cp_note NVARCHAR(200) NULL --备注
);

--单词关卡表
IF exists (select * from sysobjects where name = 'T_VRCustomPassWord')
	DROP table T_VRCustomPassWord;
CREATE TABLE T_VRCustomPassWord(
	pw_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	cp_id INT NOT NULL,--关卡id
	cp_name NVARCHAR(100) NOT NULL,--关卡名称
	file_id INT NOT NULL,--课件id(文件)
	file_name NVARCHAR(200) NOT NULL,--课件标题
	word NVARCHAR(50) NOT NULL,--单词
	gj_symbol NVARCHAR(100) NULL,--国际音标
	kk_symbol NVARCHAR(100) NULL,--KK音标
	cp_type NVARCHAR(50) NULL,--词性
	china_mean NVARCHAR(100) NULL,--中文解释
	create_name NVARCHAR(50) NOT NULL,--创建人
	create_date DATETIME NOT NULL DEFAULT(GETDATE()),--创建时间
	update_name NVARCHAR(50) NOT NULL,--更新人
	update_date DATETIME NOT NULL DEFAULT(GETDATE()),--更新时间
	cp_note NVARCHAR(200) NULL --备注
);

--单词释义表
IF exists (select * from sysobjects where name = 'T_VRWordSense')
	DROP table T_VRWordSense;
CREATE TABLE T_VRWordSense(
	ws_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	word NVARCHAR(50) NOT NULL,--单词
	gj_symbol NVARCHAR(100) NULL,--国际音标
	kk_symbol NVARCHAR(100) NULL,--KK音标
	cp_type NVARCHAR(50) NULL,--词性
	china_mean NVARCHAR(100) NULL,--中文解释
	ws_phrase NVARCHAR(100) NULL,-- 短语
	example NVARCHAR(200) NULL,--例句
	create_name NVARCHAR(50) NOT NULL,--创建人
	create_date DATETIME NOT NULL DEFAULT(GETDATE()),--创建时间
	update_name NVARCHAR(50) NOT NULL,--更新人
	update_date DATETIME NOT NULL DEFAULT(GETDATE()),--更新时间
	ws_note NVARCHAR(200) NULL --备注
);
--错词本
IF exists (select * from sysobjects where name = 'T_VRErrorWord')
	DROP table T_VRErrorWord;
CREATE TABLE T_VRErrorWord(
	ws_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	user_id int not null,--用户id
	word NVARCHAR(50) NOT NULL,--单词
	if_remove bit not null default(0),--是否标记记住
	create_date DATETIME NOT NULL DEFAULT(GETDATE())--创建时间
);

--单词检测主表
if exists (select * from sysobjects where name = 'T_VRHeadWordMain')
drop table T_VRHeadWordMain;
EXEC P_CreateTable 'T_VRHeadWordMain','头记检测主表',
'wh_id,主键,int,1
|user_id,用户id,int,1
|file_id,课件id,int,1
|cp_id,关卡id,int,1
|date_len,总时长,int,1
|create_date,创建事件,date,1
|score,总分数,int,1',1;
exec P_CreateIndex 'T_VRHeadWordMain','wh_id',1,1;
exec P_CreateDefault 'T_VRHeadWordMain','date_len','0';
exec P_CreateDefault 'T_VRHeadWordMain','score','0';
GO
--单词检测详细表
if exists (select * from sysobjects where name = 'T_VRHeadWordDetailed')
drop table T_VRHeadWordDetailed;
EXEC P_CreateTable 'T_VRHeadWordDetailed','头记检测主表',
'wd,主键,int,1
|wh_id,外键,int,1
|word,检测单词,50,1
|detletter,检测字母,2,1
|choletter,选择字母,2,1
|status,状态,int,1
|score,得分,int,1
|serial,单词被检测序号,int,1
|duration,时长,decimal(18,2),1
|create_date,创建时间,datetime,1',1;
exec P_CreateIndex 'T_VRHeadWordDetailed','wd',1,1;
exec P_CreateDefault 'T_VRHeadWordDetailed','status','0';--状态：0：错误，1：正确
exec P_CreateDefault 'T_VRHeadWordDetailed','score','0';--得分
exec P_CreateDefault 'T_VRHeadWordDetailed','duration','0';--时长
exec P_CreateDefault 'T_VRHeadWordDetailed','create_date','getdate()';
GO

--0.0 用户体验主表
--体验用户主表
-- if exists (select * from sysobjects where name = 'T_VRExperienceMain')
-- drop table T_VRExperienceMain;
-- CREATE TABLE T_VRExperienceMain(
	-- em_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	-- user_id INT NOT NULL,--体验用户
	-- user_name NVARCHAR(50) NULL,--用户名	
	-- file_id INT NOT NULL,--素材/作品id
	-- file_name NVARCHAR(100) NOT NULL,--体验作品名称
	-- schoolName NVARCHAR(100) NULL,--学校名
	-- schoolCode NVARCHAR(100) NULL,--学校代码
	-- className NVARCHAR(100) NULL,--班级名
	-- type_text NVARCHAR(100) NULL,--分类名称
	-- type_value NVARCHAR(100) NULL,--分类值
	-- learn_len INT NOT NULL DEFAULT(0),--学习时长：分钟
	-- finsh_len INT NOT NULL DEFAULT(0),--需要完成学习时长：分钟
	-- out_time DATETIME NOT NULL DEFAULT(GETDATE())--最后退出时间
-- );
--1.0 体验详情表 
if exists (select * from sysobjects where name = 'T_VRExperienceDetail')
drop table T_VRExperienceDetail;
CREATE TABLE T_VRExperienceDetail(
	ed_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	er_id INT NOT NULL,--主表id
	word NVARCHAR(500) NOT NULL,--单词名称	
	ed_status bit not null,--状态[0:错误，1:正确]
	score decimal(18,2) not null default(0),--得分
	in_date datetime not null default(GETDATE()),--进入时间
	if_remove bit not null default(0),--是否删除
	--VLines新增	
	result_ok NVARCHAR(50) not null,--正确答案
	result_sel NVARCHAR(50) null,--选择答案
	em_time int not null default(0),--时长(单位：秒)
	explain NVARCHAR(500) null,--题目解析
	if_remove bit not null default(0),--是否移除标记0：未移除，1：移除
	user_id int not null default(0),----体验用户id
	re_type int not null default(0),--类别 0:VR,1:VLines
	result NVARCHAR(200) NULL, --正确答案
	selResult NVARCHAR(200) NULL, --选择答案
	em_time int NOT NULL DEFAULT(0), --时长
	parse NVARCHAR(500) NULL, --题目解析
	file_id INT NOT NULL DEFAULT(0), --作品id
	
	
);

--1.1 体验记录表
if exists (select * from sysobjects where name = 'T_VRExperienceRecord')
	drop table T_VRExperienceRecord;
CREATE TABLE T_VRExperienceRecord(
	er_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	user_id INT NOT NULL,--用户id 
	user_name NVARCHAR(50) NULL,--用户名	
	file_id INT NOT NULL,--素材/作品id
	file_name NVARCHAR(100) NULL,--素材/作品名称
	folder_name NVARCHAR(100) NULL,--体验项目
	in_date DATETIME NOT NULL,--进入时间
	out_date DATETIME NULL,--退出时间
	em_time NVARCHAR(20) NULL,--体验时长
	x_place DECIMAL(18,2) DEFAULT(0) NULL,--位置X
	y_place DECIMAL(18,2) DEFAULT(0) NULL,--位置Y
	z_place DECIMAL(18,2) DEFAULT(0) NULL,--位置Z	
	score DECIMAL(18,2) DEFAULT(0) NULL,--得分
	video_url NVARCHAR(200) DEFAULT(0) NULL, --录像url
	status BIT NOT NULL DEFAULT(1),--状态：是否完成
	re_type int not null default(0),	--0:VR,1:VLines
	folder_code NVARCHAR(50) NOT NULL default(''),--体验记录添加--关卡代码
	out_time NVARCHAR(20) NULL,--退出时间点
	status BIT NOT NULL DEFAULT(1),--状态：是否完成
	
);
--1.2 当前位置表
if exists (select * from sysobjects where name = 'T_VRCurrentPoint')
	drop table T_VRCurrentPoint;
CREATE TABLE T_VRCurrentPoint(
	cp_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	user_id INT NOT NULL,--用户id 
	user_name NVARCHAR(50) NULL,--用户名	
	file_id INT NOT NULL,--素材/作品id
	file_name NVARCHAR(100) NULL,--素材/作品名称
	folder_name NVARCHAR(100) NULL,--体验项目
	out_date DATETIME NOT NULL,--退出时间
	x_place DECIMAL(18,2) DEFAULT(0) NULL,--位置X
	y_place DECIMAL(18,2) DEFAULT(0) NULL,--位置Y
	z_place DECIMAL(18,2) DEFAULT(0) NULL--位置Z	
);
--1.3 在线用户表
if exists (select * from sysobjects where name = 'T_VROnLineUser')
	drop table T_VROnLineUser;
CREATE TABLE T_VROnLineUser(
	on_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	user_id INT NOT NULL,--用户id 
	user_name NVARCHAR(50) NULL,--用户名	
	file_id INT NOT NULL,--素材/作品id
	file_name NVARCHAR(100) NULL,--素材/作品名称
	folder_name NVARCHAR(100) NULL,--体验项目
	in_date DATETIME NOT NULL,--进入时间
	line_status NVARCHAR(50) NULL --在线状态
);
--1.4 体验排行表
if exists (select * from sysobjects where name = 'T_VRExperienceRank')
	drop table T_VRExperienceRank;
CREATE TABLE T_VRExperienceRank(
	er_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	user_id INT NOT NULL,--用户id 
	user_name NVARCHAR(50) NULL,--用户名	
	file_id INT NOT NULL,--素材/作品id
	file_name NVARCHAR(100) NULL,--素材/作品名称
	folder_name NVARCHAR(100) NULL,--体验项目
	em_time NVARCHAR(20) NULL,--体验时长
	in_date DATETIME NOT NULL DEFAULT(GETDATE()),--开始时间 
	out_date DATETIME NOT NULL DEFAULT(GETDATE()),--结束时间 
	score DECIMAL(18,2) DEFAULT(0) NULL --得分
);
--1.5 个人成绩表
if exists (select * from sysobjects where name = 'T_VRScore')
	drop table T_VRScore;
CREATE TABLE T_VRScore(
	s_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	user_id INT NOT NULL,--用户id 
	user_name NVARCHAR(50) NULL,--用户名	
	file_id INT NOT NULL,--素材/作品id
	file_name NVARCHAR(100) NULL,--素材/作品名称
	folder_name NVARCHAR(100) NULL,--体验项目
	score DECIMAL(18,2) DEFAULT(0) NULL --得分
);
--创建禁毒日志表
if exists (select * from sysobjects where name = 'Bane_LogDetail')
drop table Bane_LogDetail;
exec P_CreateTable 'Bane_LogDetail','禁毒日志表',
'log_id,主键,int,1
|user_id,操作者ID,int,
|user_name,操作者名称,20,
|log_type,操作类型,200,
|log_ip,操作IP,20,
|log_title,操作标题,100,
|log_context,内容,1000,
|log_date,记录日期,datetime,1
|log_note,备注,1000,
';
exec P_CreateIndex 'Bane_LogDetail','log_id';
exec P_CreateDefault 'Bane_LogDetail','log_date','getdate()';
go

--VR操作日志表
if exists (select * from sysobjects where name = 'T_VROperatorLog')
	DROP table T_VROperatorLog;
CREATE TABLE T_VROperatorLog(
	log_code NVARCHAR(50) PRIMARY KEY NOT NULL DEFAULT(REPLACE(NEWID(),'-','')),--主键代码
	user_id INT NOT NULL, --操作用户ID
	user_name NVARCHAR(50) NOT NULL,--操作用户名
	module_name NVARCHAR(100) NOT NULL,--模块名称
	module_code NVARCHAR(100) NOT NULL,--模块代码
	page_name NVARCHAR(100) NULL,--所属页面
	button_name NVARCHAR(50) NULL,--功能按钮
	context NVARCHAR(max) NOT NULL,--操作详细内容
	create_date DATETIME NOT NULL DEFAULT(GETDATE())--记录日期
);

--VR金币日志记录表
if exists (select * from sysobjects where name = 'T_VRGoldLog')
	DROP table T_VRGoldLog;
CREATE TABLE T_VRGoldLog(
	log_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	user_id INT NOT NULL, --用户ID
	user_name NVARCHAR(50) NOT NULL,--用户名
	unit_code NVARCHAR(100) NULL,--所属单位
	gold_num DECIMAL(18,2) NOT NULL DEFAULT(0),--变动金币数
	gold_type INT NOT NULL DEFAULT(1),--金币类型 1：V金币，2：赠送币
	operator_type INT NOT NULL DEFAULT(1),--操作类型 1：充值，2：支付，3：分享
	create_id INT NOT NULL,--操作人id【充值人/分享人】
	create_name NVARCHAR(50) NOT NULL,--操作人名称
	create_date DATETIME NOT NULL DEFAULT(GETDATE()), --记录时间
	
	ParentOrderCode NVARCHAR(200) NULL,   --父订单号	
	OrderCode nvarchar(200),--订单号	
	BeforBuyGold decimal(18, 2) NULL,--变动前金币
	BeforGiveGold decimal(18,2) null,--变动前赠币
	SubtractBuyGold decimal(18, 2) NULL,--金币支付金额
	SubtractGiveGold decimal(18, 2) NULL,--赠币支付金额
	BuyGold decimal(18, 2) NULL,--扣减后用户金币/充值金币
	GiveGold decimal(18, 2) NULL,--扣减后用户赠币/赠送赠币
	TotalMoney decimal(18, 2) NULL,--购买商品总价
	Content nvarchar(2000) NULL,--内容
	FolderId int null,--商铺ID（导航树ID）
	
);

--1.0素材/作品附件表 T_DocEmpower
if exists (select * from sysobjects where name = 'T_DocFileOptions')
	DROP TABLE T_DocFileOptions;
CREATE TABLE T_DocFileOptions
(
	option_id INT PRIMARY KEY IDENTITY(1,1),--主键ID
	file_id int not null,--关联文件ID
	file_money decimal(18,2) not null default(0),--附件定价
	head_facility nvarchar(50) null,--头显设备
	option_name nvarchar(200) not null,--素材/作品名称
	option_type nvarchar(100) not null,--文档类型txt,doc,
	option_size decimal(18,2) not null default(0),--文档大小
	down_number int null default(0),--下载次数
	option_url nvarchar(2000) not null,--附件地址	
	option_plat nvarchar(50) null,--运行平台
	if_remove bit not null default(0),--是否移除
	option_note nvarchar(1000) null, --备注
	create_date DATETIME NOT NULL DEFAULT(GETDATE()) --创建时间
);

--0.0 商品评论表
if exists (select * from sysobjects where name = 'T_VRGoodsTalk')
drop table T_VRGoodsTalk;
CREATE TABLE T_VRGoodsTalk(
	gt_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	file_id INT NOT NULL,--素材/作品ID	
	user_id INT NOT NULL, --用户ID
	talk_time DATETIME NOT NULL DEFAULT(GETDATE()),--评论时间
	talk_note NVARCHAR(500) NULL --评论
);
--0.0 商品收藏表
if exists (select * from sysobjects where name = 'T_VRFavoriteGoods')
drop table T_VRFavoriteGoods;
CREATE TABLE T_VRFavoriteGoods(
	sg_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	file_id INT NOT NULL,--素材/作品ID	
	user_id INT NOT NULL, --用户ID
	create_date DATETIME NOT NULL DEFAULT(GETDATE())--收藏时间
);
--1.0 购物车表
if exists (select * from sysobjects where name = 'T_VRShoppingCart')
drop table T_VRShoppingCart;
CREATE TABLE T_VRShoppingCart(
	sp_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	file_id INT NOT NULL,--素材/作品ID	
	option_id INT NOT NULL,--具体附件ID	
	user_id INT NOT NULL,--用户ID
	price DECIMAL(18,2) NOT NULL DEFAULT(0) --商品价格
);

--2.0 订单表 T_VROrder
if exists (select * from sysobjects where name = 'T_VROrder')
drop table T_VROrder;
CREATE TABLE T_VROrder(
	order_code NVARCHAR(50) PRIMARY KEY NOT NULL DEFAULT(REPLACE(NEWID(),'-','')),--订单编号
	pay_money DECIMAL(18,2) NOT NULL DEFAULT(0),--应该支付金额
	pay_pramoney DECIMAL(18,2) NOT NULL DEFAULT(0),--实际支付金额
	status INT NOT NULL DEFAULT(0),--状态 0：未付款，1：已撤销，2：交易成功，3：交易关闭
	create_time DATETIME NOT NULL DEFAULT(GETDATE()),--订单创建时间
	user_id INT NOT NULL,--用户ID
	update_time DATETIME NOT NULL DEFAULT(GETDATE()),--订单修改时间
	handle_time DATETIME NOT NULL --处理时间（撤销、完成、关闭）
);

--3.0 订单详细表 T_VROrderDetail
if exists (select * from sysobjects where name = 'T_VROrderDetail')
drop table T_VROrderDetail;
CREATE TABLE T_VROrderDetail(
	detail_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	order_code NVARCHAR(50) NOT NULL,--订单编号 
	file_id INT NOT NULL,--素材/作品ID
	option_id INT NOT NULL,--具体附件ID	
	file_name NVARCHAR(200) NOT NULL,--文档名称
	alias_name NVARCHAR(200) NULL,--文档别名
	font_type NVARCHAR(200) NULL,--字号
	file_type NVARCHAR(100) NOT NULL,--文档类型txt,doc
	file_size DECIMAL(18,2) NOT NULL DEFAULT(0),--文档大小
	file_classify NVARCHAR(100) NOT NULL,--文档分类（计算机/科学/自然类）
	file_status INT NOT NULL DEFAULT(0),--文档状态：（私有:0 /(公开)待审核:1 /（管理员修改）已上架:5 ）	
	--新增
	issue_start DATE NULL DEFAULT(GETDATE()),--颁布开始时间
	doc_type NVARCHAR(100) NOT NULL,--文件类型：函，发，呈等
	doc_number NVARCHAR(100) NOT NULL,--文号
	issue_end DATE NULL,--颁布结束时间
	issue_name NVARCHAR(50) NULL,--发布机构
	create_name NVARCHAR(50) NOT NULL,--创建人
	create_id INT NOT NULL,--创建人ID
	create_time DATE NOT NULL DEFAULT(GETDATE()),--创建时间
	attach_url NVARCHAR(2000) NOT NULL,--文件存放路径
	if_remove BIT NOT NULL DEFAULT(0),--是否进入回收站1：回收站，0:正常文档
	file_note NVARCHAR(1000) NULL, --备注 
	--VR新增
	supplier NVARCHAR(100) NOT NULL DEFAULT(''),--供应商：下拉选择
	folder_num NVARCHAR(20) NOT NULL DEFAULT(''), --编号 V201901080001D
	folder_author NVARCHAR(20) NULL,--作者
	folder_phone NVARCHAR(20) NULL,--联系电话
	folder_source NVARCHAR(50) NULL,--来源
	update_name NVARCHAR(50) NULL,--更新人员
	folder_limit NVARCHAR(50) NULL,--权限
	update_time DATE NOT NULL DEFAULT(GETDATE())--更新时间
);

/*
班级
*/
create table T_Class(
 id int primary key identity(1000,1),
 schoolName nvarchar(500) not null,--学校名称
 schoolCode nvarchar(500) not null,--学校数据字典代码
 className nvarchar(200) not null,--班级名称
 entranceYear int,--入学年份
 teacherName nvarchar(200),--班主任名称
 teacherUserId int,--班主任在用户表用户ID
 classStudentNum int ,--班级人数
 remark nvarchar(1000),  --备注
 updateTime datetime not null,  --最后修改时间
 updateUser nvarchar(200),  --最后修改人
 createTime datetime not null,  --创建时间
 createUser nvarchar(200) not null  --创建人
);

/*
学生
*/
create table T_Student(
 id int primary key identity(2000,1),
 schoolName nvarchar(500) not null, --所属学校名称
 classId int not null,  --所属班级ID
 teacherName nvarchar(200) not null, --班主任姓名
 studentName nvarchar(100) not null, --学生姓名
 studentId nvarchar(100),--学号
 major nvarchar(100),--专业
 sex bit, --性别
 tel nvarchar(20),--电话号码
 email nvarchar(50),--邮箱
 idCode nvarchar(20),--身份证号码
 photo nvarchar(100),--照片
 state int default 1, --状态:0停用、1启用
 updateTime datetime not null,  --最后修改时间
 updateUser nvarchar(200),  --最后修改人
 createTime datetime not null,  --创建时间
 createUser nvarchar(200) not null,  --创建人
 importCode nvarchar(100)--导入批处理好
);

--0.0 用户-目录收藏关注表
if exists (select * from sysobjects where name = 'T_VRUserFolder')
	drop table T_VRUserFolder;
CREATE TABLE T_VRUserFolder(
	id int primary key identity(1,1),--主键
	user_guid NVARCHAR(50) NOT NULL,--收藏关注用户guid
	folder_pid INT NOT NULL,--父目录id
	folder_id INT NOT NULL,--目录id
	folder_path NVARCHAR(200) NOT NULL,--目录path
	ownerID NVARCHAR(50) NULL default(''),--合伙人或创始人用户编码
	partner_id INT NOT NULL default(0),--店铺合伙人主键id
	folder_type INT NOT NULL DEFAULT(0),--类别【0=目录、1=合伙人店铺】
	folder_date DATETIME NOT NULL DEFAULT(GETDATE()) --收藏时间
);

--0.1 用户-目录点赞表
if exists (select * from sysobjects where name = 'T_VRUserFolderStar')
	drop table T_VRUserFolderStar;
CREATE TABLE T_VRUserFolderStar(
	id int primary key identity(1,1),--主键
	user_guid NVARCHAR(50) NOT NULL,--点赞用户guid
	folder_pid INT NOT NULL,--父目录id
	folder_id INT NOT NULL,--目录id
	folder_path NVARCHAR(200) NOT NULL,--目录path
	ownerID NVARCHAR(50) NULL default(''),--合伙人或创始人用户编码
	partner_id INT NOT NULL default(0),--店铺合伙人主键id
	folder_type INT NOT NULL DEFAULT(0),--类别【0=目录、1=合伙人店铺】
	folder_date DATETIME NOT NULL DEFAULT(GETDATE()) --点赞时间
);

--0.0 商品价格表
if exists (select * from sysobjects where name = 'T_VRGoodDisiPrice')
	drop table T_VRGoodDisiPrice;
CREATE TABLE T_VRGoodDisiPrice(
	op_code NVARCHAR(50) PRIMARY KEY NOT NULL DEFAULT(REPLACE(NEWID(),'-','')),--主键代码
	file_id INT NOT NULL,--素材/作品ID
	file_code NVARCHAR(50) NOT NULL,--素材/作品 代码
	op_month INT NOT NULL DEFAULT(1),--月份
	ori_price DECIMAL(5,2) NOT NULL DEFAULT(0), --原价：单价*月份
	price_name NVARCHAR(50) NULL,--价格名称
	price_type INT NOT NULL DEFAULT(0)--时间类别 默认月份【0：分月，1：分钟】
);
--1.0 折扣活动方案表
if exists (select * from sysobjects where name = 'T_VRGoodScheme')
	drop table T_VRGoodScheme;
CREATE TABLE T_VRGoodScheme(
	ds_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	ds_name NVARCHAR(200) NOT NULL,--活动名称
	ds_type INT NOT NULL DEFAULT(1),--优惠方式 1:优惠折扣率、2：优惠价
	ds_rate DECIMAL(5,2) NOT NULL DEFAULT(0),--优惠折扣率
	ds_price DECIMAL(5,2) NOT NULL DEFAULT(0),--优惠价
	round_type INT NOT NULL DEFAULT(0),--取整方式 0：保留角分、1：抹角、2：抹分
	if_remove BIT NOT NULL DEFAULT(0), --是否停用
	start_time DATETIME NOT NULL DEFAULT(GETDATE()),--活动开始时间
	end_time DATETIME NOT NULL DEFAULT(GETDATE()),--活动结束时间
	create_date DATETIME NOT NULL DEFAULT(GETDATE()),--创建时间
	create_id INT NOT NULL,--创建人id
	create_name NVARCHAR(50) NOT NULL,--创建人名称
	update_date DATETIME NOT NULL DEFAULT(GETDATE()),--更新时间
	update_id INT NOT NULL,--更新人id
	update_name NVARCHAR(50) NOT NULL,--更新人名称
	ds_note NVARCHAR(500) NULL --评论
);
--1.1 商品--活动表
if exists (select * from sysobjects where name = 'T_VRGoodDisPrice')
	drop table T_VRGoodDisPrice;
CREATE TABLE T_VRGoodDisPrice(
	dp_code INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	file_id INT NOT NULL,--素材/作品ID
	file_code NVARCHAR(50) NOT NULL,--素材/作品 代码
	ds_id INT NOT NULL --折扣活动方案ID
);

--添加《注册、修改密码 获取手机验证码表》	
if exists (select 1 from sysobjects where id = object_id('T_VRCellSMSCode'))
	DROP table T_VRCellSMSCode;
 create table T_VRCellSMSCode(
   cell_code NVARCHAR(50) PRIMARY KEY NOT NULL DEFAULT(replace(newid(),'-','')),
   phone NVARCHAR(20) NOT NULL,--手机号
   code NVARCHAR(10) NOT NULL,--验证码
   task_id NVARCHAR(50) NULL,--任务的序列ID
   status NVARCHAR(5) NULL,--状态【10：发送成功，20：发送失败】 
   cellType INT NOT NULL DEFAULT(0),--类别【0=注册、1=修改密码】
   past_date DATETIME NOT NULL DEFAULT(GETDATE()) --过期时间
 );	
 --合伙人协议表【添加在商品管理界面】
if exists (select * from sysobjects where name = 'T_VRFounderDeal')
	DROP table T_VRFounderDeal;
CREATE TABLE T_VRFounderDeal(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	folder_id INT NOT NULL,--所属目录
	deal_note NVARCHAR(max) NULL,--协议内容
	create_id INT NOT NULL,--操作人id
	create_name NVARCHAR(50) NOT NULL,--操作人名称
	create_date DATETIME NOT NULL DEFAULT(GETDATE()), --记录时间
	update_id INT NOT NULL,--更新人id
	update_name NVARCHAR(50) NOT NULL,--更新人名称
	update_date DATETIME NOT NULL DEFAULT(GETDATE()) --更新时间
);


--合伙人申请表【连用户表】
if exists (select * from sysobjects where name = 'T_VRFounderApply')
	DROP table T_VRFounderApply;
CREATE TABLE T_VRFounderApply(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	user_id INT NOT NULL,--申请人id	
	apply_name NVARCHAR(50) NULL,--申请人用户名	
	ref_id INT NOT NULL DEFAULT(0),--推荐人id
	ref_name NVARCHAR(50) NULL,--推荐人姓名
	user_level int not null default(0),--用户等级
	apply_phone NVARCHAR(20) NULL,--申请人手机号码 	
	folder_id INT NOT NULL,--导航树id【商家id】
	folder_name NVARCHAR(200) NOT NULL,--导航树名【商家名称】 
	apply_date DATETIME NOT NULL DEFAULT(GETDATE()), --申请时间
	apply_status INT NOT NULL DEFAULT(0),--【状态】0：待审核；1：已通过；2：未通过
	approve_id INT NULL,--审核人id
	approve_name NVARCHAR(50) NULL,--审核人名称
	approve_date DATETIME NULL DEFAULT(GETDATE()), --审核时间
	approve_note NVARCHAR(800) NULL,--审核意见
	update_id INT NULL,--更新人id
	update_name NVARCHAR(50) NULL,--更新人名称
	update_date DATETIME NULL DEFAULT(GETDATE()), --更新时间 
	favorite_num INT NOT NULL DEFAULT(0), --合伙店铺收藏数量
	star_num INT NOT NULL DEFAULT(0), --合伙店铺点赞数量
	focus_num INT NOT NULL DEFAULT(0) --合伙店铺关注数量
);

--用户消息表
if exists (select * from sysobjects where name = 'T_VRUserMessage')
	DROP table T_VRUserMessage;
CREATE TABLE T_VRUserMessage(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	user_id INT NOT NULL,--用户id【消息接收人】
	user_name NVARCHAR(50) NOT NULL,--用户名【消息接收人】
	send_id INT NOT NULL,--用户id【消息发送人】
	send_name NVARCHAR(50) NOT NULL,--用户名【消息发送人】
	folder_id INT NOT NULL DEFAULT(0),--商铺id
	mess_type INT NOT NULL DEFAULT(1),--消息类别【1=发展合伙人，2=新增合伙人】
	mess_content NVARCHAR(500) NOT NULL,--消息内容
	link_url NVARCHAR(500) NOT NULL,--链接地址
	push_from INT NOT NULL,--推送平台boardPlatType【1=小程序，2=网站，3=客户端】
	mess_status INT NOT NULL DEFAULT(-1),--状态【-1：未读；0：已忽略；1：已读】
	create_id INT NOT NULL,--创建人id
	create_name NVARCHAR(50) NULL,--创建人名称
	create_date DATETIME NOT NULL DEFAULT(GETDATE()), --创建时间
	update_id INT NOT NULL,--更新人id
	update_name NVARCHAR(50) NULL,--更新人名称
	update_date DATETIME NOT NULL DEFAULT(GETDATE()) --更新时间 
);
--商品折扣表
if exists (select * from sysobjects where name = 'T_VRGoodDiscount')
	DROP table T_VRGoodDiscount;
CREATE TABLE T_VRGoodDiscount(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	file_id INT NOT NULL,--商品id
	file_name NVARCHAR(1000) NULL,--商品名称
	file_code NVARCHAR(1000) NULL,--商品代码
	user_level INT NOT NULL DEFAULT(0),--用户等级
	rate DECIMAL(5,2) NOT NULL DEFAULT(0),--折扣率
	note NVARCHAR(2000) NULL,--备注
	create_id INT NOT NULL,--操作人id
	create_name NVARCHAR(50) NOT NULL,--操作人名称
	create_date DATETIME NOT NULL DEFAULT(GETDATE()), --记录时间
	update_id INT NOT NULL,--更新人id
	update_name NVARCHAR(50) NOT NULL,--更新人名称
	update_date DATETIME NOT NULL DEFAULT(GETDATE()), --记录时间
	store_id INT NOT NULL DEFAULT(0),--店铺id
	user_id INT NOT NULL DEFAULT(0),--用户id
	
);

--收货地址表
if exists (select * from sysobjects where name = 'T_VRAddress')
	DROP table T_VRAddress;
CREATE TABLE T_VRAddress(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	user_id INT NOT NULL,--用户id
	user_name NVARCHAR(50) NOT NULL,--收货人
	phone NVARCHAR(20) NOT NULL,--手机号码
	areaID INT NOT NULL DEFAULT(0),--行政区域ID
	area NVARCHAR(2000) NOT NULL,--所在地区【省市县】
	addr NVARCHAR(2000) NOT NULL,--详细地址
	addr_mark NVARCHAR(200) NULL,--地址标签
	is_default BIT NOT NULL DEFAULT(0),--是否默认地址
	create_id INT NOT NULL,--操作人id
	create_name NVARCHAR(50) NOT NULL,--操作人名称
	create_date DATETIME NOT NULL DEFAULT(GETDATE()), --记录时间
	update_id INT NOT NULL,--更新人id
	update_name NVARCHAR(50) NOT NULL,--更新人名称
	update_date DATETIME NOT NULL DEFAULT(GETDATE()), --记录时间
	gps_x decimal(10,7) null, --经度
	gps_y decimal(10,7) null --纬度
);

--用户等级表
if exists (select * from sysobjects where name = 'T_VRUserLevel')
	DROP table T_VRUserLevel;
CREATE TABLE T_VRUserLevel(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	user_level INT NOT NULL DEFAULT(0),--用户等级
	min_sale DECIMAL(18,2) NOT NULL DEFAULT(0),--最低销售额
	max_sale DECIMAL(18,2) NOT NULL DEFAULT(0),--最高销售额
	min_line INT NOT NULL DEFAULT(0),--最小下线人数
	max_line INT NOT NULL DEFAULT(0),--最大下线人数
	create_id INT NOT NULL,--操作人id
	create_name NVARCHAR(50) NOT NULL,--操作人名称
	create_date DATETIME NOT NULL DEFAULT(GETDATE()), --记录时间
	update_id INT NOT NULL,--更新人id
	update_name NVARCHAR(50) NOT NULL,--更新人名称
	update_date DATETIME NOT NULL DEFAULT(GETDATE()), --记录时间
	level_note NVARCHAR(2000) NULL, --备注
	price_rate DECIMAL(3,1) NOT NULL DEFAULT(0),--商品折扣
	store_id INT NOT NULL DEFAULT(0),--店铺id
	
);
--用户等级日志表
if exists (select * from sysobjects where name = 'T_VRUserLevelLog')
	DROP table T_VRUserLevelLog;
CREATE TABLE T_VRUserLevelLog(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	user_id INT NOT NULL,--用户id
	folder_id INT NOT NULL default(0),--商铺id 
	user_name NVARCHAR(50) NOT NULL,--用户名
	user_level INT NOT NULL DEFAULT(0),--用户等级
	sell_money DECIMAL(18,2) NOT NULL DEFAULT(0),--销售额
	line_num INT NOT NULL DEFAULT(0),--下线人数
	create_id INT NOT NULL,--操作人id
	create_name NVARCHAR(50) NOT NULL,--操作人名称
	create_date DATETIME NOT NULL DEFAULT(GETDATE()), --记录时间	
);
--积分明细表
if exists (select * from sysobjects where name = 'T_VRUserIntegralLog')
	DROP table T_VRUserIntegralLog;
CREATE TABLE T_VRUserIntegralLog(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	user_id INT NOT NULL,--用户id【积分获得者】
	user_name NVARCHAR(50) NOT NULL,--用户名【积分获得者】
	score_num DECIMAL(5,2) NOT NULL DEFAULT(0),--积分数
	share_id INT NOT NULL,--商品分享人id
	share_name NVARCHAR(50) NOT NULL,--商品分享人
	pay_id INT NOT NULL DEFAULT(0),--商品购买人
	pay_name NVARCHAR(50) NOT NULL,--商品购买人
	file_id int not null,--作品id
	file_name NVARCHAR(500) NOT NULL,--商品名
	file_code NVARCHAR(500) NOT NULL,--商品代码
	order_code NVARCHAR(100) NOT NULL,--订单号
	pay_money DECIMAL(18,2) NOT NULL DEFAULT(0),--实付金额
	create_id INT NOT NULL,--操作人id
	create_name NVARCHAR(50) NOT NULL,--操作人名称
	create_date DATETIME NOT NULL DEFAULT(GETDATE()), --记录时间	
	folder_id	int	--商铺ID（导航树ID）
);
--WebChart
--0.1 微信配置
if exists (select * from sysobjects where name = 'T_VRWebChartSet')
	drop table T_VRWebChartSet;
CREATE TABLE T_VRWebChartSet(
	appid NVARCHAR(100) NOT NULL primary key,--appid
	appsecret NVARCHAR(100) NOT NULL,--secret
	create_date DATETIME NOT NULL DEFAULT(GETDATE())
);

--1.1 用户-微信注册表
if exists (select * from sysobjects where name = 'T_VRUserChartRegister')
	drop table T_VRUserChartRegister;
CREATE TABLE T_VRUserChartRegister(
	id int primary key identity(1,1),--主键
	user_id INT NOT NULL,--用户id
	openid NVARCHAR(100) NOT NULL,--小程序openid
	reg_date DATETIME NOT NULL DEFAULT(GETDATE())--注册时间
);
--0.1 用户-目录点赞表
if exists (select * from sysobjects where name = 'T_VRUserFolderStar')
	drop table T_VRUserFolderStar;
CREATE TABLE T_VRUserFolderStar(
	id int primary key identity(1,1),--主键
	user_guid NVARCHAR(50) NOT NULL,--用户guid
	folder_pid INT NOT NULL,--父目录id
	folder_id INT NOT NULL,--目录id
	folder_path NVARCHAR(200) NOT NULL,--目录path
	folder_date DATETIME NOT NULL DEFAULT(GETDATE()) --点赞时间
);
--用户--商品下载表
if exists (select * from sysobjects where name = 'T_VRUserDownload')
drop table T_VRUserDownload;
CREATE TABLE T_VRUserDownload(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	user_guid NVARCHAR(50) NOT NULL,--用户编码
	down_date  DATETIME DEFAULT(GETDATE()) NOT NULL,--下载时间
	page_type NVARCHAR(50) NOT NULL,--下载商品类别
	file_id INT NOT NULL--下载商品id
);

--VLions体验主表
if exists (select * from sysobjects where name = 'T_VLionsRecord')
	drop table T_VLionsRecord;
CREATE TABLE T_VLionsRecord(
	er_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	user_id int NOT NULL,--体验用户
	user_name NVARCHAR(50) NOT NULL,--用户名
	file_id INT NOT NULL,--文档ID
	file_code NVARCHAR(100) NOT NULL,--作品代码
	file_name NVARCHAR(200) NOT NULL,--作品名称
	in_date DATETIME NOT NULL DEFAULT(GETDATE()),
	out_date DATETIME NULL,
	em_time int not null default(0),
	folder_name NVARCHAR(100) NULL,--关卡名称
	folder_code NVARCHAR(50) NULL,--关卡代码
	score DECIMAL(18,2) not null default(0),
	feed_source NVARCHAR(50) NULL --数据来源
);
--1.0 VR附件删除记录表 
if exists (select * from sysobjects where name = 'T_VRDelAffixRecord')
drop table T_VRDelAffixRecord;
CREATE TABLE T_VRDelAffixRecord(
	del_name NVARCHAR(50) NOT NULL,--删除用户名称
	del_date DATETIME NOT NULL DEFAULT(GETDATE()),--删除时间
	option_url NVARCHAR(200) NOT NULL,--附件地址
	service_url NVARCHAR(100) NOT NULL--服务器地址
);

--1.0 直播课堂表 
if exists (select * from sysobjects where name = 'N_VRLineClassRoom')
drop table N_VRLineClassRoom;
CREATE TABLE N_VRLineClassRoom(
	RmId INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键，课堂ID
	UserId INT NOT NULL,--用户ID
	UserName NVARCHAR(50) NOT NULL,--用户名称
	FolderId INT NOT NULL,--目录id
	FolderPath NVARCHAR(100),--目录path
	CrName NVARCHAR(200) NOT NULL,--课堂名称
	StartTime DATETIME NOT NULL,--上课时间
	StartLen INT NOT NULL,--时长
	EndTime DATETIME NULL,--结束时间	
	Scope INT NOT NULL DEFAULT(1),--授课范围【1：局域网，2：互联网】
	IP NVARCHAR(20) NULL,--IP地址
	Price DECIMAL(18,2) NOT NULL DEFAULT(0),--价格
	PersonNumber INT NOT NULL DEFAULT(0),--人数
	IfFinish BIT NOT NULL DEFAULT(0),--是否结束【0：未结束；1：已结束】
	VideoUrl NVARCHAR(100) NULL,--课堂视频地址
	Note NVARCHAR(500) NULL,--备注
	CreateId INT NOT NULL,--创建人id
	CreateName NVARCHAR(50) NOT NULL,--创建人
	CreateDate DATETIME NOT NULL DEFAULT(GETDATE()),--创建时间
	UpdateId INT NOT NULL,--更新人id
	UpdateName NVARCHAR(50),--更新人
	UpdateDate DATETIME NOT NULL DEFAULT(GETDATE()),--更新时间	
	Device int --上课设备
);

--1.1 直播课堂--课件关联表
if exists (select * from sysobjects where name = 'N_VRLineClassRoomFile')
drop table N_VRLineClassRoomFile;
CREATE TABLE N_VRLineClassRoomFile(
	RfId int identity(1,1) primary key not null,--主键
	RmId INT NOT NULL,--课堂id
	FileId INT NOT NULL,--课件id
	IfDefault BIT NOT NULL DEFAULT(0),--是否默认启动课件	
	CreateId INT NOT NULL,--创建人id	
	CreateDate DATETIME NOT NULL DEFAULT(GETDATE())--创建时间
);

--用户--上课表
if exists (select * from sysobjects where name = 'N_VRUserAttend')
drop table N_VRUserAttend;
CREATE TABLE N_VRUserAttend(
	UaId int identity(1,1) primary key not null,--主键
	RmId INT NOT NULL,--课堂id
	UserId INT NOT NULL,--用户id，学生的ID
	UserGuid NVARCHAR(50) NOT NULL,--用户内部编码，学生的Guid
	Facility INT NOT NULL DEFAULT(1),--设备类别【1：PC客户端；2：VR客户端；3：手机客户端】
	LearnDate DATETIME NOT NULL DEFAULT(GETDATE()),--上课时间	
	CreateId INT NOT NULL,--创建人id	
	CreateDate DATETIME NOT NULL DEFAULT(GETDATE())--创建时间
);
--1.2 登录历史表
if exists (select * from sysobjects where name = 'T_LoginLog')
	DROP table T_LoginLog;
create table T_LoginLog(
	log_code NVARCHAR(50) PRIMARY KEY NOT NULL DEFAULT(REPLACE(NEWID(),'-','')),--异常编号
	user_id INT NOT NULL,--登录id
	source NVARCHAR(50) NOT NULL DEFAULT('pc'),--登录来源
	login_ip NVARCHAR(50) NULL,--IP
	login_date DATETIME NOT NULL DEFAULT(GETDATE()),--的能力时间
	pro_type NVARCHAR(50) NULL,--产品类别
	out_date DATETIME NULL--退出时间
);
--0.0 作品体验表：针对作品统计
if exists (select * from sysobjects where name = 'T_VRExperienceWorkMain')
	drop table T_VRExperienceWorkMain;
CREATE TABLE T_VRExperienceWorkMain(
	wm_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	file_id INT NOT NULL,--素材/作品id
	file_code NVARCHAR(100) NULL,--课件代码
	folder_path NVARCHAR(500) NULL,--导航path
	learn_num INT NOT NULL DEFAULT(0),--学习人数
	topic_num INT NOT NULL DEFAULT(0),--题目数
	result_ok INT NOT NULL DEFAULT(0),--正确数量
	result_error INT NOT NULL DEFAULT(0)--错误数量
	
	--添加题库相关信息
	line_id INT NOT NULL DEFAULT(0),--直播课堂id
	teacher_id INT NOT NULL DEFAULT(0),--上课老师id
	folder_code NVARCHAR(100) NOT NULL,--关卡代码
	folder_name NVARCHAR(100) NULL,--关卡名称 
	
	num int NOT NULL DEFAULT(0),--题号
	content NVARCHAR(500) NOT NULL,--题目内容
	answer NVARCHAR(500) NOT NULL,--正确答案
	parse NVARCHAR(500) NULL, --题目解析
	wm_time int NOT NULL DEFAULT(0) --本题时长
	
);

--1.0 新增体验主表：针对用户统计
if exists (select * from sysobjects where name = 'T_VRExperienceRecordMain')
	drop table T_VRExperienceRecordMain;
CREATE TABLE T_VRExperienceRecordMain(
	ma_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	user_id INT NOT NULL,--用户id 
	file_id INT NOT NULL,--素材/作品id
	folder_name NVARCHAR(100) NULL,--体验项目
	folder_path NVARCHAR(500) NULL,--导航path
	file_code NVARCHAR(100) NULL,--课件代码
	folder_code NVARCHAR(100) NULL,--关卡代码
	result_ok INT NOT NULL DEFAULT(0),--正确数量
	result_error INT NOT NULL DEFAULT(0)--错误数量
);
--VLine分享表：T_VLineShare
if exists (select * from sysobjects where name = 'T_VLineShare')
drop table T_VLineShare;
CREATE TABLE T_VLineShare(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	file_id INT NOT NULL,--被分享作品id
	user_guid NVARCHAR(50) NOT NULL,--分享用户guid
	share_date DATETIME DEFAULT(GETDATE()) NOT NULL--分享时间
);
--用户--关注用户表
if exists (select * from sysobjects where name = 'T_VLineAttentionUser')
drop table T_VLineAttentionUser;
CREATE TABLE T_VLineAttentionUser(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	user_guid NVARCHAR(50) NOT NULL,--关注者guid
	by_guid NVARCHAR(50) NOT NULL,--被关注者guid
	by_date DATETIME DEFAULT(GETDATE()) NOT NULL--关注时间
);
--用户--作品点赞表：T_DocumentUserStar
--用户--用户点赞表：T_VLineUserUserStar
if exists (select * from sysobjects where name = 'T_VLineUserUserStar')
drop table T_VLineUserUserStar;
CREATE TABLE T_VLineUserUserStar(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	user_guid NVARCHAR(50) NOT NULL,--点赞者guid
	star_guid NVARCHAR(50) NOT NULL,--被点赞者guid
	star_date DATETIME DEFAULT(GETDATE()) NOT NULL--点赞时间
);
--用户--目录点赞表：T_VLineUserFolderStar
if exists (select * from sysobjects where name = 'T_VLineUserFolderStar')
drop table T_VLineUserFolderStar;
CREATE TABLE T_VLineUserFolderStar(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	user_guid NVARCHAR(50) NOT NULL,--点赞者guid
	folder_id INT NOT NULL,--点赞目录id
	star_date DATETIME DEFAULT(GETDATE()) NOT NULL--点赞时间
);
--文档缩略图记录表
if exists (select * from sysobjects where name = 'T_DocBagFileRecord')
drop table T_DocBagFileRecord;
exec P_CreateTable 'T_DocBagFileRecord','文档缩略图记录表',
'bag_id,主键,int,1
|file_id,文档ID,int,1
|file_name,图片名称,100,1
|file_type,图片类型,int,1 --【0:横版缩略图（4:3）;1:竖版缩略图（3:4）】
|file_url,缩略图地址,500,1
|create_date,添加时间,datetime,1
|create_id,创建人ID,int,1
|create_name,创建人,20,1',1;
exec P_CreateIndex 'T_DocBagFileRecord','bag_id',1,1;
exec P_CreateDefault 'T_DocBagFileRecord','create_date','GETDATE()';
GO

--体验用户主表
if exists (select * from sysobjects where name = 'T_VRExperienceMain')
drop table T_VRExperienceMain;
CREATE TABLE T_VRExperienceMain(
	em_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	user_id INT NOT NULL,--体验用户
	user_name NVARCHAR(50) NULL,--用户名	
	file_id INT NOT NULL,--素材/作品id
	file_name NVARCHAR(100) NOT NULL,--体验作品名称
	schoolName NVARCHAR(100) NULL,--学校名
	schoolCode NVARCHAR(100) NULL,--学校代码
	className NVARCHAR(100) NULL,--班级名
	classId INT NOT NULL DEFAULT(0),--班级id
	type_text NVARCHAR(100) NULL,--分类名称
	type_value NVARCHAR(100) NULL,--分类值
	learn_len INT NOT NULL DEFAULT(0),--学习时长：分钟
	finsh_len INT NOT NULL DEFAULT(0),--需要完成学习时长：分钟
	out_time DATETIME NOT NULL DEFAULT(GETDATE())--最后退出时间
);
/*==============================================================*/
/* Table: 客户端异常记录*/
/* 创建日期： 2020-03-25 */
/*==============================================================*/
if exists (select * from sysobjects where name = 'T_VRExceptionLog')
	DROP table T_VRExceptionLog;
create table T_VRExceptionLog(
	logCode NVARCHAR(50) PRIMARY KEY NOT NULL DEFAULT(REPLACE(NEWID(),'-','')),--异常编号
	params NVARCHAR(200) NULL,--请求参数
	func NVARCHAR(100) NOT NULL,--请求方法
	notes NVARCHAR(500) NULL,--备注
	requestDate DATETIME NOT NULL DEFAULT(GETDATE()),--异常记录时间
	handDate DATETIME NULL, --处理时间
	isSolve BIT NOT NULL DEFAULT(0) --是否解决
);
--问题反馈表
if exists (select * from sysobjects where name = 'T_VRIssueFeed')
	DROP table T_VRIssueFeed;
CREATE TABLE T_VRIssueFeed(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	user_id INT NOT NULL,--用户id
	folder_id INT NOT NULL,--所属目录
	feed_title NVARCHAR(200) NOT NULL,--标题
	feed_content NVARCHAR(1000) NULL,--内容
	feed_phone NVARCHAR(20),--联系电话
	feed_status INT NOT NULL DEFAULT(0),--【-1：已删除；0：未关闭；1：已关闭】
	create_id INT NOT NULL,--操作人id
	create_name NVARCHAR(50) NOT NULL,--操作人名称
	create_date DATETIME NOT NULL DEFAULT(GETDATE()), --记录时间
	update_id INT NOT NULL,--更新人id
	update_name NVARCHAR(50) NOT NULL,--更新人名称
	update_date DATETIME NOT NULL DEFAULT(GETDATE()), --更新时间
	feed_source NVARCHAR(50) NULL --数据来源
);

--问题反馈：图片列表
if exists (select * from sysobjects where name = 'T_VRIssueFeedPicture')
	DROP table T_VRIssueFeedPicture;
CREATE TABLE T_VRIssueFeedPicture(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	feed_id INT NOT NULL,--反馈主表id
	img_url NVARCHAR(500) NOT NULL--图片地址
);

--问题：回复列表
if exists (select * from sysobjects where name = 'T_VRIssueFeedReply')
	DROP table T_VRIssueFeedReply;
CREATE TABLE T_VRIssueFeedReply(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	feed_id INT NOT NULL,--反馈主表id
	user_id INT NOT NULL,--回复问题反馈用户id
	reply_content NVARCHAR(800) NOT NULL,--回复内容
	reply_date DATETIME NOT NULL DEFAULT(GETDATE())--回复时间
);
--1.0 度度圈：个人-动态表
IF exists (select * from sysobjects where name = 'T_VRDDCircleDynamic')
	DROP table T_VRDDCircleDynamic;
CREATE TABLE T_VRDDCircleDynamic(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	du_id INT NOT NULL,--度度圈用户id
	d_note NVARCHAR(500) NOT NULL,--动态描述
	gps_x decimal(10,7) NOT NULL,--经度
	gps_y decimal(10,7) NOT NULL,--纬度
	hide_dynamic int not null default(2),--谁可以看动态，公开=2、好友可见=1、私密=0
	star_num INT NOT NULL DEFAULT(0),--动态点赞数
	dy_source NVARCHAR(50) NULL,--动态来源【VCircle=度度圈（默认值），VMeta=元宇宙】
	create_id INT NOT NULL,--操作人id
	create_name NVARCHAR(50) NOT NULL,--操作人名称
	create_date DATETIME NOT NULL DEFAULT(GETDATE()), --记录时间
	create_url NVARCHAR(200) NULL, --创建位置【按经纬度获取地点名称】
	update_date DATETIME NOT NULL DEFAULT(GETDATE()) --更新时间
);

--度度圈：个人-动态【图片列表】
if exists (select * from sysobjects where name = 'T_VRDDCirclePicList')
	DROP table T_VRDDCirclePicList;
CREATE TABLE T_VRDDCirclePicList(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	du_id INT NOT NULL,--度度圈用户id
	d_id INT NOT NULL,--动态表id
	img_name NVARCHAR(200) NOT NULL,--原始图片名称
	img_url NVARCHAR(500) NOT NULL,--图片位置
	create_date DATETIME NOT NULL DEFAULT(GETDATE()), --记录时间
	update_date DATETIME NOT NULL DEFAULT(GETDATE()) --更新时间
);
--度度圈：个人-动态【视频列表】
if exists (select * from sysobjects where name = 'T_VRDDCircleVideoList')
	DROP table T_VRDDCircleVideoList;
CREATE TABLE T_VRDDCircleVideoList(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	du_id INT NOT NULL,--度度圈用户id
	d_id INT NOT NULL,--动态表id
	video_name NVARCHAR(200) NOT NULL,--原始名称
	video_url NVARCHAR(500) NOT NULL,--视频位置
	create_date DATETIME NOT NULL DEFAULT(GETDATE()), --记录时间
	update_date DATETIME NOT NULL DEFAULT(GETDATE()) --更新时间
);
--度度圈：个人-动态【已读表】
if exists (select * from sysobjects where name = 'T_VRDDCircleReadDynamic')
	DROP table T_VRDDCircleReadDynamic;
CREATE TABLE T_VRDDCircleReadDynamic(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	du_id INT NOT NULL,--度度圈用户id【阅读动态者id】
	d_id INT NOT NULL,--动态表id【被读动态id】
	read_date DATETIME NOT NULL DEFAULT(GETDATE()) --阅读时间
);
--度度圈：个人-动态【点赞表】
if exists (select * from sysobjects where name = 'T_VRDDCircleUserStar')
	DROP table T_VRDDCircleUserStar;
CREATE TABLE T_VRDDCircleUserStar(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	du_id INT NOT NULL,--度度圈用户id【点赞者id】
	d_id INT NOT NULL,--动态表id【被点赞动态id】
	d_user_id INT NOT NULL,--动态创建用户id
	star_date DATETIME NOT NULL DEFAULT(GETDATE()), --点赞时间
	star_status BIT NOT NULL DEFAULT(0) --是否已读【0：未读；1：已读】
);
--度度圈：个人-动态【评论表】
if exists (select * from sysobjects where name = 'T_VRDDCircleUserReview')
	DROP table T_VRDDCircleUserReview;
CREATE TABLE T_VRDDCircleUserReview(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	du_id INT NOT NULL,--度度圈用户id【评论者id】
	d_id INT NOT NULL,--动态表id【被评论动态id】
	d_user_id INT NOT NULL,--动态创建用户id
	re_note NVARCHAR(500) NOT NULL,--评论内容
	re_date DATETIME NOT NULL DEFAULT(GETDATE()), --评论时间
	re_status BIT NOT NULL DEFAULT(0) --是否已读【0：未读；1：已读】
);

--度度圈：职业基础表
if exists (select * from sysobjects where name = 'T_VRDDCircleBaseProf')
	DROP table T_VRDDCircleBaseProf;
CREATE TABLE T_VRDDCircleBaseProf(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	du_prof nvarchar(100) not null,--职业
	du_num int not null default(0),--职业人数
	create_date DATETIME NOT NULL DEFAULT(GETDATE()), --记录时间
	update_date DATETIME NOT NULL DEFAULT(GETDATE()) --更新时间
);
--度度圈：毕业学校基础表
if exists (select * from sysobjects where name = 'T_VRDDCircleBaseSchool')
	DROP table T_VRDDCircleBaseSchool;
CREATE TABLE T_VRDDCircleBaseSchool(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	du_school nvarchar(200) not null,--毕业学校
	du_num int not null default(0),--职业人数
	create_date DATETIME NOT NULL DEFAULT(GETDATE()), --记录时间
	update_date DATETIME NOT NULL DEFAULT(GETDATE()) --更新时间
);
--度度圈关联商品表
if exists (select * from sysobjects where name = 'T_VRDDCircleRelGood')
	DROP table T_VRDDCircleRelGood;
CREATE TABLE T_VRDDCircleRelGood(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	dd_id INT NOT NULL,--度度圈商品id
	rel_id INT NOT NULL,--关联商品id
	rel_type NVARCHAR(50) NULL,--类别【图片：image；全景图：p-image;视频：video;作品：works】
	create_id INT NOT NULL,--操作人id
	create_name NVARCHAR(50) NOT NULL,--操作人名称
	create_date DATETIME NOT NULL DEFAULT(GETDATE()), --记录时间
	update_id INT NOT NULL,--更新人id
	update_name NVARCHAR(50) NOT NULL,--更新人名称
	update_date DATETIME NOT NULL DEFAULT(GETDATE()) --记录时间
);
--添加《区域基本信息表》	
if exists (select 1 from sysobjects where id = object_id('T_VRAreaInfo'))
	DROP table T_VRAreaInfo;
 Create table T_VRAreaInfo(
   area_id INT primary key not null,--区域id
   area_name nvarchar(500) not null,--区域名称  
   area_pid INT NOT NULL DEFAULT(0),--上级区域
   area_code nvarchar(50) not null,--行政区域代码
   deep INT NOT NULL DEFAULT(0),--层级
   jpSign nvarchar(100) NULL,--中文首字母简称
   area_path NVARCHAR(max) NULL,--从属路径
   area_url nvarchar(max) NULL 
 );	
 --度度圈：服务类别基础表
if exists (select * from sysobjects where name = 'T_VRDDCircleBaseService')
	DROP table T_VRDDCircleBaseService;
CREATE TABLE T_VRDDCircleBaseService(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	s_type NVARCHAR(200) NOT NULL,--服务类别
	s_num INT NOT NULL DEFAULT(0),--服务条数
	s_top BIT NOT NULL DEFAULT(0),--是否置顶
	create_date DATETIME NOT NULL DEFAULT(GETDATE()), --记录时间
	update_date DATETIME NOT NULL DEFAULT(GETDATE()) --更新时间
);

--度度圈：用户服务表
if exists (select * from sysobjects where name = 'T_VRDDCircleUserService')
	DROP table T_VRDDCircleUserService;
CREATE TABLE T_VRDDCircleUserService(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	du_id INT NOT NULL DEFAULT(0),--度度圈用户id
	file_id INT NOT NULL DEFAULT(0),--商品id
	voice_url NVARCHAR(300) NOT NULL,--音频文件地址
	voice_len INT NOT NULL DEFAULT(0),--音频时长【单位：秒】
	bs_type nvarchar(200) NULL,--服务类别
	bs_range INT NOT NULL DEFAULT(0),--发布范围【0=公开，1=仅好友，2=六度人脉，3=私密】
	bs_period INT NOT NULL DEFAULT(0),--有效期【以天为单位，0：表示长期有效】
	create_date DATETIME NOT NULL DEFAULT(GETDATE()), --发布时间
	end_date DATETIME NOT NULL,--截止日期
	update_date DATETIME NOT NULL DEFAULT(GETDATE()) --更新时间
);
--度度圈：用户--服务【已读表】
if exists (select * from sysobjects where name = 'T_VRDDCircleReadService')
	DROP table T_VRDDCircleReadService;
CREATE TABLE T_VRDDCircleReadService(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	du_id INT NOT NULL,--度度圈用户id【阅读动态者id】
	s_id INT NOT NULL,--服务表id【被读服务id】服务基础表id
	read_date DATETIME NOT NULL DEFAULT(GETDATE()) --阅读时间
);
--度度圈：扫码登录
if exists (select * from sysobjects where name = 'T_VRDDScanLogin')
	DROP table T_VRDDScanLogin;
CREATE TABLE T_VRDDScanLogin(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	device_id NVARCHAR(100) NOT NULL,--设备id
	device_name NVARCHAR(100) NOT NULL,--设备名称
	userid NVARCHAR(50) NOT NULL,--用户内部编码
	user_id INT NOT NULL,--用户id
	user_status BIT NOT NULL DEFAULT(1),--在线状态【0：离线；1：在线】
	create_date DATETIME NOT NULL DEFAULT(GETDATE()), --记录时间
	update_date DATETIME NOT NULL DEFAULT(GETDATE()) --更新时间
);
--度度圈：用户浏览日志表
if exists (select * from sysobjects where name = 'T_VRDDUserBrowseLog')
	DROP table T_VRDDUserBrowseLog;
CREATE TABLE T_VRDDUserBrowseLog(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	userid NVARCHAR(50) NOT NULL,--用户内部编码
	user_id INT NOT NULL,--用户id
	b_type INT NOT NULL DEFAULT(1),--类别【1=商品，2=店铺，3=作品，4=课程】
	file_id INT NOT NULL DEFAULT(0),--记录id【1=商品，3=作品】
	folder_id INT NOT NULL DEFAULT(0),--记录id【2=店铺，4=课程】
	b_source NVARCHAR(20) NULL,--来源【数据字典 loginSource】
	create_date DATETIME NOT NULL DEFAULT(GETDATE()) --记录时间
);
--1.0 新增用户成绩每次答题统计表：针对用户统计
if exists (select * from sysobjects where name = 'T_VRExperienceRecordMainUser')
	drop table T_VRExperienceRecordMainUser;
CREATE TABLE T_VRExperienceRecordMainUser(
	ma_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	user_id INT NOT NULL,--用户id 
	file_id INT NOT NULL,--素材/作品id
	folder_name NVARCHAR(100) NULL,--体验项目
	file_code NVARCHAR(100) NULL,--课件代码
	folder_code NVARCHAR(100) NULL,--关卡代码
	result_ok INT NOT NULL DEFAULT(0),--正确数量
	result_error INT NOT NULL DEFAULT(0),--错误数量
	folder_path NVARCHAR(500) NULL,--导航path
	topic_num NVARCHAR(50) NULL, --题目序号
	re_type int not null default(0)	--类别 0:VR,1:VLines
);
--1.0 新增度度圈店铺--VR课程关联表
if exists (select * from sysobjects where name = 'T_VRDDCircleCourseRelevance')
	drop table T_VRDDCircleCourseRelevance;
CREATE TABLE T_VRDDCircleCourseRelevance(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	store_id INT NOT NULL,--店铺id【度度圈folder_id】
	course_id INT NOT NULL,--课程id【VR folder_id】
	create_id INT NOT NULL,--添加用户id
	create_date DATETIME NOT NULL DEFAULT(GETDATE()) --添加时间
);
--1.0 新增度度圈店铺类别人员表
if exists (select * from sysobjects where name = 'T_VRDDStoreTypeUser')
	drop table T_VRDDStoreTypeUser;
CREATE TABLE T_VRDDStoreTypeUser(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	store_id INT NOT NULL,--店铺id【度度圈folder_id】
	store_path NVARCHAR(50) NOT NULL,--店铺path
	dd_id INT NOT NULL,--度度圈用户id
	store_type NVARCHAR(50) NOT NULL,--类别，即数据字典下拉代码【cook,waiter,cashier】
	store_code NVARCHAR(50) NULL,--类别根代码【StaffType】
	create_date DATETIME NOT NULL DEFAULT(GETDATE()) --创建时间
);
--2.0 新增店铺数据字典类别设置表
if exists (select * from sysobjects where name = 'T_VRDDStoreDictType')
	drop table T_VRDDStoreDictType;
CREATE TABLE T_VRDDStoreDictType(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	store_id INT NOT NULL,--店铺id【度度圈folder_id】
	dictType NVARCHAR(50) NOT NULL,--人员类别【字典根代码】【StaffType】
	dictCode NVARCHAR(50) NOT NULL,--人员类别【下拉value】【cook,waiter,cashier】
	--type INT NOT NULL DEFAULT(1),--【0=删除；1=新增】
	create_date DATETIME NOT NULL DEFAULT(GETDATE()) --创建时间
);
--3.0 新增商品规格表
if exists (select * from sysobjects where name = 'T_VRDDGoodSpecification')
	drop table T_VRDDGoodSpecification;
CREATE TABLE T_VRDDGoodSpecification(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	file_id INT NOT NULL,--商品id
	specName NVARCHAR(80) NOT NULL,--规格名称，例如：辣度
	specOption NVARCHAR(500) NOT NULL,--规格选项，例如：微辣,中辣,麻辣
	create_date DATETIME NOT NULL DEFAULT(GETDATE()), --创建时间
	update_date DATETIME NOT NULL DEFAULT(GETDATE())--更新时间
);
--规格列表
create table N_Spec(
	Id int identity(1,1) primary key,
	SpecType int default 0 not null,--0购物的、1订单的
	SpecTypeId int not null,--对应的ID
	CommodityId int not null,--商品ID
	OrderCode nvarchar(100),--订单ID
	SpecName nvarchar(100) not null,
	SpecValue nvarchar(200),
	OptionId int -- 规格项ID
);
--用户信息（含隐私设置）
if object_id('DD_User') is null
begin
	exec('create table DD_User(
	--user_id int not null, --后台用户ID
	du_id int primary key,--度度ID【实际用户id】
	--du_nick nvarchar(50) not null,--度度用户名
	du_name nvarchar(50),--真实姓名
	--du_mobile nvarchar(50),--用户手机号
	--du_avatar nvarchar(200),--头像地址
	du_sex int not null default(0),--性别：0-保密 1-男 2-女	
	du_city_id int not null default(0),--所在地城市代码，来自行政区域表
	du_hometown_id int not null default(0),--籍贯城市代码，来自行政区域表	
	du_city nvarchar(200),--所在地城市，来自行政区域表
	du_hometown nvarchar(200),--籍贯城市，来自行政区域表
	du_prof nvarchar(100),--职业
	du_school nvarchar(200),--毕业院校
	--du_birthday date,--生日
	du_signature nvarchar(50),--签名
	user_type int not null default(0),--用户类别【0=普通，1=VIP】
	count_fan int not null default(0),--粉丝数（被关注）
	count_friend int not null default(0),--好友数（好友表）
	count_visitor int not null default(0),--访客数（访客表）
	count_visited int not null default(0),--被浏览数
	dd_verify bit not null default(1),--加我是否需要验证，默认是
	--dd_status int not null default(1),--状态；【1 在线；2 离线】
	dd_hidden bit not null default(0),--是否隐身【1：隐身】
	hide_name int not null default(0),--真实姓名可见，0=仅自己可见；1=仅好友可见；2=所有人可见
	hide_sex int not null default(0),--性别可见，0=仅自己可见；1=仅好友可见；2=所有人可见
	hide_mobile int not null default(0),--手机号可见，0=仅自己可见；1=仅好友可见；2=所有人可见
	hide_birthday int not null default(0),--生日可见，0=仅自己可见；1=仅好友可见；2=所有人可见
	hide_city int not null default(2),--城市可见，0=仅自己可见；1=仅好友可见；2=所有人可见
	hide_hometown int not null default(2),--籍贯可见，0=仅自己可见；1=仅好友可见；2=所有人可见		
	created_time datetime not null, --账号创建时间
	update_time datetime null, --账号更新时间
	gps_x decimal(10,7) null,--最后经度
	gps_y decimal(10,7) null,--最后纬度
	gps_time datetime null, --记录最新位置时间
	
	hide_dynamic int not null default(2), --动态课件，公开=2、好友可见=1、私密=0
	province nvarchar(100) null,--省名称
	cityCode nvarchar(50) null,--城市编码
	city nvarchar(100) null,--城市名称
	district nvarchar(100) null,--区名称
	street nvarchar(200) null,--街道地址
	streetnumber nvarchar(200) null,--街道名称
	address nvarchar(300) null --地址
	)');
	exec('create nonclustered index ix_DD_User_gps ON DD_User ([gps_x],[gps_y]) include([gps_time])');	
end;
--关注
if object_id('DD_Fans') is null
begin
	exec('create table DD_Fans(
	primary_key int identity(1,1) primary key, 
	du_id int not null,--度度用户ID（被关注人）
	fan_id int not null, --度度用户ID（关注人）
	created_time datetime not null, --关注时间
	confirm_status bit not null default(0), --已读（不再提示被关注人有新的关注）
	if_remove bit not null default(0),--取关标记
	delete_time datetime,--取关时间
	)');
	--我被谁关注
	exec('create nonclustered index ix_DD_Fans_Get ON DD_Fans ([du_id]) include([created_time],[fan_id],[if_remove],[confirm_status])');
	--我关注谁
	exec('create nonclustered index ix_DD_Fans_Sent ON DD_Fans ([fan_id]) include([created_time],[du_id],[if_remove])');
end;
--访客
if object_id('DD_Visit') is null
begin
	exec('create table DD_Visit(
	primary_key int identity(1,1) primary key, 
	du_id int not null,--度度用户ID（被访问人）
	visitor_id int not null, --度度用户ID（访问人）
	created_time datetime not null, --访问时间
	confirm_status bit not null default(0) --已读（不再提示被访问人有新的访客）
	)');
	exec('create nonclustered index ix_DD_Visit ON DD_Visit ([du_id]) include([created_time],[visitor_id],[confirm_status])');
end;
--好友申请
if object_id('DD_FriendApply') is null
begin
	exec('create table DD_FriendApply(
	primary_key int identity(1,1) primary key, 
	du_id int not null,--度度用户ID（被申请人）
	apply_id int not null, --度度用户ID（申请人）
	created_time datetime not null, --申请时间
	apply_note nvarchar(100), --验证信息
	apply_from int not null, --来源：1=人脉；2=搜索；3=扫一扫；4=分享、5=群聊
	apply_status int not null default(-1), --验证状态：1=同意；2=不同意；0=忽略；-1=未处理；-2=删除
	apply_time datetime, --处理时间
	confirm_status bit not null default(0) --已读（不再提示有新的好友申请）
	)');
	--我接收的申请
	exec('create nonclustered index ix_DD_FriendApply_Get ON DD_FriendApply ([du_id]) include([apply_id],[created_time],[apply_note],[apply_from],[apply_status],[apply_time],[confirm_status])');
	--我发送的申请
	exec('create nonclustered index ix_DD_FriendApply_Sent ON DD_FriendApply ([apply_id]) include([du_id],[created_time],[apply_note],[apply_status],[apply_time])');
end;
--用户位置
if object_id('DD_GPS') is null
begin
	exec('create table DD_GPS(
	primary_key int identity(1,1) primary key, 
	du_id int not null,--度度ID
	created_time datetime not null,--定位时间
	gps_x decimal(10,7) not null,--经度
	gps_y decimal(10,7) not null,--纬度
	
	province nvarchar(100) null,--省名称
	cityCode nvarchar(50) null,--城市编码
	city nvarchar(100) null,--城市名称
	district nvarchar(100) null,--区名称
	street nvarchar(200) null,--街道地址
	streetnumber nvarchar(200) null,--街道名称
	address nvarchar(300) null --地址
	)');
	exec('create nonclustered index ix_DD_GPS ON DD_GPS ([du_id]) include([created_time],[gps_x],[gps_y])');
end;
--1度人脉【好友】
if object_id('DD_1') is null
begin
	exec('create table DD_1(
	primary_key int identity(1,1) primary key, 
	dd_id_1 int not null,--申请人
	dd_id_2 int not null,--被申请人
	status bit not null default(0),--1=设为蜜友，0=取消蜜友
	closeType NVARCHAR(100) NULL, --数据来自数据字典CloseFriendType
	closeName NVARCHAR(100) NULL, --类别名称
	friendNote NVARCHAR(500) NULL, --好友备注
	friendDescribe NVARCHAR(500) NULL, --好友描述
	isfriend BIT NOT NULL  DEFAULT(0)--是否好友
	)');
	exec('create nonclustered index ix_DD_1 ON DD_1 ([dd_id_1]) include([dd_id_2])');
end;
--2度人脉
if object_id('DD_2') is null
begin
	exec('create table DD_2(
	primary_key int identity(1,1) primary key, 
	dd_id_1 int not null, 
	dd_id_2 int not null  
	)');
	exec('create nonclustered index ix_DD_2 ON DD_2 ([dd_id_1]) include([dd_id_2])');
end;
--3度人脉
if object_id('DD_3') is null
begin
	exec('create table DD_3(
	primary_key int identity(1,1) primary key, 
	dd_id_1 int not null,
	dd_id_2 int not null
	)');
	exec('create nonclustered index ix_DD_3 ON DD_3 ([dd_id_1]) include([dd_id_2])');
end;

--VR-20191018需求文档建表
/*==============================================================*/
/* Table: 订单流水号*/
/*==============================================================*/
if exists (select * from sysobjects where name = 'N_OrderNumber')
drop table N_OrderNumber;
create table N_OrderNumber(
	OrderId int primary key identity(1,1),
	OrderNum int,					--当天流水号，每天从10000开始
	CreateTime datetime				--生成时间	
);

/*==============================================================*/
/* Table: 订单信息，订单中没有订单主表，订单中每个商品都有单独记录，通过父订单号查看是否一起提交的订单*/
/* 20191112;老谭说去掉3(卖家已确认) */
/*==============================================================*/
if exists (select * from sysobjects where name = 'N_Order')
drop table N_Order;
create table N_Order(
	OrderCode nvarchar(200) primary key not null,				--订单号
	ParentOrderCode nvarchar(200) not null,						--父订单号，如果订单中只有一个商品那么订单号就是父订单号
	OrderNum int,												--当前订单号中使用的流水号
	OrderState int	not null,									--订单状态；1等待买家付款、2买家已付款、4交易成功、5交易关闭(只有状态1的才能设置为5)、6退款中
	OrderSource nvarchar(50) not null,							--订单来源；pc、web、mobile、wechat
	OrderCreateTime datetime not null default getdate(),		--下单时间
	OrderCreateUser nvarchar(50),								--购买人
	OrderCreateUserId int,										--购买人ID
	OrderSubmitUser nvarchar(50),								--提单人
	PaymentMethod int,											--支付方式;1金币、2微信、3支付宝
	PaymentTime datetime,										--支付时间
	PaymentCode nvarchar(100),									--支付流水号
	CommodityMoney decimal(10,2),								--商品金额 = 商品单价*商品数量
	DiscountMoney decimal(10,2),								--折后金额 =（商品单价*商品数量）减去折扣的金额
	PreferentialAmount decimal(10,2),							--优惠金额 =（商品单价*商品数量）-优惠的金额	
	PaymentAmount DECIMAL(10,2),								--实付金额 = 最终支付的金额
	ConfirmTime datetime,										--确认订单时间	
	CloseTime datetime,											--关闭订单时间
	PurchasePeriod int, 										--购买期限；1、3、6、12
	EndTime	datetime,											--截止时间
	FolderId int,												--商铺ID（导航树ID）：2021-3-1，需求《VLions需求规格_度度商城_后台-20210205.docx》添加
	Quantity int default 1 not null,							--商品数量，2021-10-17，需求度度圈下单支付，商品可以多个数量添加
	UnitPrice  decimal(10, 2),									--商品单价，2021-10-17，需求度度圈下单支付，商品可以多个数量添加
	StorageStatus int default 0 not null --备货状态；0=待备货（默认值）、1=备货中、2=备货完成、3=已发货
	TableNum nvarchar(200),--桌号
	Name nvarchar(200),--收货人姓名
	Phone nvarchar(200),--收货人电话
	Area nvarchar(200),--所在地区
	Address nvarchar(200),--详细地址
	OrderType int default 0 not null,---下单类别，0=普通下单（默认值），1=扫码点餐下单
	PackType int default 0 not null,--包装类别，0=堂食，1=打包
	ShareUserId int,--商铺分享人ID
	SendOutGoodsUserId int,--发货用户ID
	LogisticsOrderNo nvarchar(200),--物流单号
	SendOutGoodsTime datetime,--发货时间
	ReceivingGoodsTime datetime --收货时间
);

/*==============================================================*/
/* Table: 订单商品信息                                              */
/*==============================================================*/
if exists (select * from sysobjects where name = 'N_OrderCommodityInfo')
drop table N_OrderCommodityInfo;
create table N_OrderCommodityInfo(
	OrderCode nvarchar(200) primary key not null,				--订单号,跟N_Order表中订单号一一对应
	file_id INT ,												--文件ID
	option_id INT ,												--具体附件ID	
	file_name NVARCHAR(200) ,									--文档名称
	alias_name NVARCHAR(200) NULL,								--文档别名
	font_type NVARCHAR(200) NULL,								--字号
	file_type NVARCHAR(100) ,									--文档类型txt,doc
	file_size DECIMAL(18,2)  DEFAULT(0),						--文档大小
	file_money DECIMAL(18,2)  DEFAULT(0),						--文档定价	
	file_classify NVARCHAR(100) ,								--文档分类（计算机/科学/自然类）
	file_status INT  DEFAULT(0),								--文档状态：（私有:0 /(公开)待审核:1 /（管理员修改）已上架:5 ）	
	issue_start datetime NULL DEFAULT(GETDATE()),				--颁布开始时间
	doc_type NVARCHAR(100) ,									--文件类型：函，发，呈等
	doc_number NVARCHAR(100) ,									--文号
	issue_end datetime NULL,									--颁布结束时间
	issue_name NVARCHAR(50) NULL,								--发布机构
	create_name NVARCHAR(50) ,									--创建人
	create_id INT ,												--创建人ID
	create_time datetime,										--创建时间
	attach_url NVARCHAR(2000) ,									--文件存放路径
	if_remove BIT  DEFAULT(0),									--是否进入回收站1：回收站，0:正常文档
	file_note NVARCHAR(1000) NULL, 								--备注 
	supplier NVARCHAR(100),										--供应商：下拉选择
	folder_num NVARCHAR(20), 									--编号 V201901080001D
	folder_author NVARCHAR(20) NULL,							--作者
	folder_phone NVARCHAR(20) NULL,								--联系电话
	folder_source NVARCHAR(50) NULL,							--来源
	update_name NVARCHAR(50) NULL,								--更新人员
	folder_limit NVARCHAR(50) NULL,								--权限
	update_time datetime,										--更新时间
	approve_time DATETIME NULL,									--审核时间
	pro_form INT DEFAULT(1),									--产品形态 【VR=1；虚拟仿真=2；AR=3；】
	pro_type INT NULL,											--产品类别 【VRPPT=1； 创客=2；头记=3；校史馆=4；】
	vr_star INT,												--点赞次数	
	allow_edit bit,	 											--是否允许编辑（0：不允许，1：允许）
	supplyType INT DEFAULT(0),									--商品来源 0：个人，1：自营
	page_type nvarchar(100),									--商品类别 VRManager(素材)、VRWorks(作品)
	mater_type nvarchar(100),									--素材格式
	Quantity int default 1 not null,--商品数量
	StoreID int, --店铺ID
	video_url nvarchar(500),
	unit_code nvarchar(100),
	talk_num int,
	spread_url nvarchar(500),
	share_num int,
	quote_num int,
	qr_code nvarchar(max),
	play_num int,
	pay_num int,
	org_unit nvarchar(100),
	is_recommend bit,
	is_game int,
	hold_num int,
	game_start datetime,
	game_end datetime,
	finish_time int,
	file_order int,
	file_code nvarchar(50),
	down_number int,
	browse_num int,
	approve_note nvarchar(200),
	approve_name nvarchar(50)
	
);

/*==============================================================*/
/* Table: 订单日志信息                                          */
/*==============================================================*/
CREATE TABLE N_OrderLog(
	LogId int primary key IDENTITY(1000,1) NOT NULL,			--ID
	ParentOrderCode nvarchar(200) not null,			--父订单号
	OrderCode nvarchar(200),			--订单号
	CreateTime datetime NOT NULL default getdate(), --创建时间
	UserId int NOT NULL,							--用户ID	
	ip nvarchar(50) NULL,							--IP地址
	TotalMoney decimal(18, 2) NULL,					--购买商品总价
	SubtractBuyGold decimal(18, 2) NULL,			--金币支付金额
	SubtractGiveGold decimal(18, 2) NULL,			--赠币支付金额
	BuyGold decimal(18, 2) NULL,					--扣减后用户金币
	GiveGold decimal(18, 2) NULL,					--扣减后用户赠币
	Content nvarchar(2000) NULL						--内容
)

/*==============================================================*/
/* Table: 购物车                                                */
/*==============================================================*/
if exists (select * from sysobjects where name = 'N_Shopping')
 DROP table N_Shopping;
CREATE TABLE N_Shopping(
	ShoppingId INT IDENTITY(1,1) PRIMARY KEY NOT NULL,				--主键
	UserId int not null,											--用户ID
	UserName nvarchar(100),											--用户姓名
	FileId int not null,											--文件ID
	PurchasePeriod int, 											--购买期限；1、3、6、12，可以设置0需求《VLions需求规格_度度圈接口需求_订单及购物车-202100909.docx》
	CreateTime datetime not null default getdate(),					--加入时间
	CreateMoney decimal(10,2),										--加入时价格

	--2021-9-14，需求《VLions需求规格_度度圈接口需求_订单及购物车-202100909.docx》添加如下字段
	StoreID int,													--店铺ID
	Quantity int default 1 not null,								--商品数量
	OrderType int default 0 not null                 				--下单类别，0=普通下单（默认值），1=扫码点餐下单
);



/*==============================================================*/
/* Table: VR金币日志记录表                                      */
/*==============================================================*/
if exists (select * from sysobjects where name = 'T_VRGoldLog')
 DROP table T_VRGoldLog;
CREATE TABLE T_VRGoldLog(
 log_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
 user_id INT NOT NULL, --用户ID
 user_name NVARCHAR(50) NOT NULL,--用户名
 unit_code NVARCHAR(100) NULL,--所属单位
 gold_num DECIMAL(18,2) NOT NULL DEFAULT(0),--变动金币数
 gold_type INT NOT NULL DEFAULT(1),--金币类型 1：V金币，2：赠送币
 operator_type INT NOT NULL DEFAULT(1),--操作类型 1：充值，2：支付
 create_id INT NOT NULL,--操作人id
 create_name NVARCHAR(50) NOT NULL,--操作人名称
 create_date DATETIME NOT NULL DEFAULT(GETDATE()), --记录时间
 ParentOrderCode nvarchar(200) not null,   --父订单号
 FolderId	int		--商铺ID（导航树ID）
);

--点播需求
--1.0 点播列表
if exists (select * from sysobjects where name = 'T_VRPlayList')
	drop table T_VRPlayList;
CREATE TABLE T_VRPlayList(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	OrderCode NVARCHAR(200) NOT NULL,--订单号
	userid NVARCHAR(50) NOT NULL,--用户编码
	user_name NVARCHAR(50) NOT NULL,--点播人
	CommodityID INT NOT NULL,--商品id
	DeviceCode NVARCHAR(200) NOT NULL,--设备代码
	Content NVARCHAR(2000) NOT NULL,--主题【内容】
	PlayStatus INT NOT NULL DEFAULT(0),--点播状态【0=待点播，1=已点播】
	CreateId INT NOT NULL,--创建用户id
	CreateDate DATETIME NOT NULL DEFAULT(GETDATE()), --添加时间
	UpdateDate DATETIME NOT NULL DEFAULT(GETDATE()) --更新时间
);
--2.0 点播图片列表
if exists (select * from sysobjects where name = 'T_VRPlayPictureList')
	drop table T_VRPlayPictureList;
CREATE TABLE T_VRPlayPictureList(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	playId INT NOT NULL,--点播id
	pictureUrl NVARCHAR(200) NOT NULL--图片地址
);

--0.0 VLines成绩表
if exists (select * from sysobjects where name = 'T_VLinesExperienceDetail')
	drop table T_VLinesExperienceDetail;
CREATE TABLE T_VLinesExperienceDetail(
	vd_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	er_id INT NOT NULL,--体验表id
	wm_id INT NOT NULL,--作品统计表id
	user_id INT NOT NULL,--体验用户
	sel_result NVARCHAR(100) NULL,--选择答案	
	status INT NOT NULL DEFAULT(1),--状态【1：正确；0：错误】
	score DECIMAL(18,2) NOT NULL DEFAULT(0),--得分
	em_time INT NOT NULL DEFAULT(0),--答题时长
	create_date DATETIME NOT NULL DEFAULT(GETDATE()), --创建时间
	topic_num NVARCHAR(50) NULL --题目序号
);


--楼宇-用户【入住日志表】
if exists (select * from sysobjects where name = 'T_VRStayUserLog')
drop table T_VRStayUserLog;
CREATE TABLE T_VRStayUserLog(
	log_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,
	user_code NVARCHAR(50) NVARCHAR(200) not null,--入住人id
	file_id int not null,--入住商品id	
	file_name NVARCHAR(200) NOT NULL,--【楼房名称】商品名称
	file_code NVARCHAR(200) NOT NULL,--【楼房代码】商代代码
	in_date datetime not null default(getdate()),-- 入住时间
	out_date datetime null, --搬出时间
	stayType INT NOT NULL DEFAULT(0),--0=虚拟入住，1=实际入住
	stayDefault INT NOT NULL DEFAULT(0)--0=否，1=是
	);

--度度圈事件表
if exists (select * from sysobjects where name = 'T_VRDDEvent')
DROP TABLE T_VRDDEvent;
CREATE TABLE T_VRDDEvent(
	memoId INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	userid NVARCHAR(50) NOT NULL,--用户编码
	memo NVARCHAR(2000) NULL,--内容
	imageUrl NVARCHAR(200) NULL,--图片地址
	audioUrl NVARCHAR(200) NULL,--音频地址
	videoUrl NVARCHAR(200) NULL,--视频地址
	createName NVARCHAR(20) NOT NULL,--创建人
	createDate DATETIME NOT NULL DEFAULT(GETDATE()),--创建时间
	updateName NVARCHAR(20) NULL,--更新人
	updateDate DATETIME NULL --更新日期
);

--度度圈事件-提醒表
if exists (select * from sysobjects where name = 'T_VRDDEventAlert')
drop table T_VRDDEventAlert;
CREATE TABLE T_VRDDEventAlert(
	memoRemindID INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	userid NVARCHAR(50) NOT NULL,--用户编码
	memoId INT NOT NULL,--事件id
	aType NVARCHAR(50) NULL DEFAULT(''),--提醒类型
	memoDate NVARCHAR(20) NOT NULL,--备忘日期【年-月-日】
	remindDate NVARCHAR(10) NOT NULL,--提醒时间【时：分】
	indexRemind BIT NOT NULL DEFAULT(0), --是否提醒【首页提醒】
	colorNum INT NOT NULL DEFAULT(0),--提醒球颜色，存1到5，用5个数字代表五种颜色
	createName NVARCHAR(20) NOT NULL,--创建人
	createDate DATETIME NOT NULL DEFAULT(GETDATE()),--创建时间
	updateName NVARCHAR(20) NULL,--更新人
	updateDate DATETIME NULL --更新日期
);

--自定义事件类型表
if exists (select * from sysobjects where name = 'T_VRDDEventCType')
drop table T_VRDDEventCType;
CREATE TABLE T_VRDDEventCType(
	memoTypeID INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	userid NVARCHAR(50) NULL,--用户编码
	memoType NVARCHAR(100) NOT NULL,--事件类型
	--eventType INT NOT NULL DEFAULT(1),--0：默认；1：自定义
	createName NVARCHAR(20) NOT NULL,--创建人
	createDate DATETIME NOT NULL DEFAULT(GETDATE()),--创建时间
);


--用户表 【T_User】
--fans_num INT NOT NULL DEFAULT(0) --粉丝数
--focus_num INT NOT NULL DEFAULT(0) --关注数
--mark_star_num INT NOT NULL DEFAULT(0) --获赞数
--star_num INT NOT NULL DEFAULT(0) --给别人点赞数
--lang NVARCHAR(50) null default('zh-CN') --语言选择
--user_level INT  NOT NULL DEFAULT(0) --用户等级
--sell_money INT NOT NULL DEFAULT(0) --销售金额
--line_num INT NOT NULL DEFAULT(0) --通过推荐人统计
--is_partner BIT NOT NULL DEFAULT(0) --是否合伙人
--ref_name NVARCHAR(50) NULL --推荐人【用户名】
--ref_id INT NOT NULL DEFAULT(0) --推荐人【用户id】
--score_num DECIMAL(18,2) NOT NULL DEFAULT(0) --积分
--prepay_money DECIMAL(18,2) NOT NULL DEFAULT(0) --预付款
--use_type INT NOT NULL DEFAULT(0) --使用类别 0：账号登录、1：扫码计时 
--user_status int not null default(0) --在线状态 0:离线；1：在线

--角色表 T_Role
--is_mark INT NOT NULL DEFAULT(0) --是否订阅角色 0：未订阅、1：已订阅


--登录表【T_Login】
--source NVARCHAR(50) NOT NULL DEFAULT('pc') --登录来源
--pro_type NVARCHAR(50) NULL --产品类别

--菜单表【T_PageFolder】
--enLang NVARCHAR(50) null --英文名
--langCode NVARCHAR(50) NOT NULL DEFAULT(LOWER(REPLACE(newid(), '-', ''))) UNIQUE
--module_type NVARCHAR(50) NULL --所属系统
--module_img NVARCHAR(500) NULL --菜单图片地址

--元素表 【T_PageElement】
--enLang NVARCHAR(50) null --英文名
--langCode NVARCHAR(50) NOT NULL DEFAULT(LOWER(REPLACE(newid(), '-', ''))) UNIQUE

--字典主表【T_ItemCode】
--enLang NVARCHAR(50) null --英文名
--langCode NVARCHAR(50) NOT NULL DEFAULT(LOWER(REPLACE(newid(), '-', ''))) UNIQUE
--whereValue NVARCHAR(100) NULL --条件值
--numValue NVARCHAR(100) NULL  --数量值

--字典子表【T_ItemCodeMenum】
--enLang NVARCHAR(50) null --英文名
--langCode NVARCHAR(50) NOT NULL DEFAULT(LOWER(REPLACE(newid(), '-', ''))) UNIQUE
--numValue NVARCHAR(100) NULL  --数量值

--模块表【T_SysModule】
--enLang NVARCHAR(50) null --英文名
--langCode NVARCHAR(50) NOT NULL DEFAULT(LOWER(REPLACE(newid(), '-', ''))) UNIQUE --

--组织机构表【T_OrgFolder】
--folder_path NVARCHAR(50) NULL


--度度圈：关键字表
if exists (select * from sysobjects where name = 'T_VRDDKeyword')
	DROP TABLE T_VRDDKeyword;
CREATE TABLE T_VRDDKeyword(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	pro_type INT NOT NULL,--产品类别
	keyword NVARCHAR(50) NOT NULL,--关键字
	degree INT NOT NULL DEFAULT(0),--热度
	create_id INT NOT NULL,--创建人ID
	create_name NVARCHAR(50) NOT NULL,--创建人
	create_date DATETIME NOT NULL DEFAULT(GETDATE()), --创建时间
	update_id INT NULL,--更新人
	update_name NVARCHAR(50) NULL,--更新人
	update_date DATETIME NULL --更新时间
);
--度度圈：推送消息列表
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'T_VRDDSendMess')
	DROP TABLE T_VRDDSendMess;
CREATE TABLE T_VRDDSendMess(
	mess_id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--消息主键
	send_id INT NOT NULL DEFAULT(0),--发送人
	send_name NVARCHAR(50) NOT NULL DEFAULT(''),--发送人名
	send_status INT NOT NULL DEFAULT(-1),--推送状态【-1=未推送、0=正在推送、1=已推送】
	send_num INT NOT NULL DEFAULT(0),--推送人数
	mess_type NVARCHAR(50) NOT NULL,--消息类别【100，101，102】
	store_id INT NOT NULL,--店铺id
	store_name NVARCHAR(100) NOT NULL,--店铺名称
	mess_note NVARCHAR(1000) NOT NULL,--消息内容
	create_id INT NOT NULL,--创建人ID
	create_name NVARCHAR(50) NOT NULL,--创建人
	create_date DATETIME NOT NULL DEFAULT(GETDATE()), --创建时间
	update_id INT NULL,--更新人
	update_name NVARCHAR(50) NULL,--更新人
	update_date DATETIME NULL --更新时间
);

--度度圈：推送用户列表
IF exists (select * from sysobjects where name = 'T_VRDDSendUser')
	DROP TABLE T_VRDDSendUser;
CREATE TABLE T_VRDDSendUser(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	mess_id INT NOT NULL,--消息id
	create_id INT NOT NULL,--创建人ID
	create_name NVARCHAR(50) NOT NULL,--创建人
	create_date DATETIME NOT NULL DEFAULT(GETDATE()), --创建时间
	store_id INT NOT NULL,--店铺id
	store_name NVARCHAR(100) NOT NULL,--店铺名称
	push_date DATETIME NULL, --推送时间
	push_status INT NOT NULL DEFAULT(-1),--推送状态【-1=未推送；1=已推送】
	accept_id INT NOT NULL,--接收人id【店铺创始人用户ID】
	accept_name NVARCHAR(50) NOT NULL,--接收人名【申请人用户名】
	accept_phone NVARCHAR(50) NOT NULL,--接收人手机号【店铺申请人手机号】
	accept_status INT NOT NULL DEFAULT(-1),--接收状态【-1=未读、0=忽略、1=已读】
	accept_date DATETIME NULL --接收时间
);
--度度圈事件-店铺动态表
if exists (select * from sysobjects where name = 'T_VRDDStoreDynamic')
	DROP table T_VRDDStoreDynamic;
CREATE TABLE T_VRDDStoreDynamic(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键
	storeID INT NOT NULL,--店铺id【folder_id】
	store_name NVARCHAR(100) NULL,--店铺名称
	ownerID NVARCHAR(50) NOT NULL,--店主用户编码（店铺创始人或店铺合伙人）
	owner_id INT NOT NULL,--店主用户ID（店铺创始人或店铺合伙人）
	video_url NVARCHAR(500) NULL,--视频地址
	picture_url NVARCHAR(500) NULL,--图片地址
	isFeed bit not null default(0),--是否给陌生人推送【（默认否，推送时需要同时满足以下条件：
    --① 被推送人不是发布人的好友，
    --② 被推送人及其好友都不是店铺的合伙人）每次推送人数按数据字典 VideosFeedNumber 中的设置：100/500，
	--表示普通用户每次推送不能超过100人，每天不能超过500人，每次推送时从满足条件的人中随机选取）】
	fileID int not null default(0),--度度圈商品ID 
	gpsX decimal(10,7) null,--经度
	gpsY decimal(10,7) null,--纬度
	locationName NVARCHAR(200) NULL,--位置名称
	userid NVARCHAR(50) NOT NULL,--用户编码【创建人】
	user_id INT NOT NULL,--创建人id
	note NVARCHAR(500) NULL,--备注
	create_name NVARCHAR(50) NOT NULL,--创建人名
	create_date DATETIME NOT NULL DEFAULT(GETDATE()),--创建时间
	update_id INT NULL,--更新人
	update_name NVARCHAR(50) NULL,--更新人名
	update_date DATETIME NULL,--更新时间
	star_num INT NOT NULL default(0) --动态被点赞次数
);

--度度圈【用户-店铺动态点赞表】
IF exists (select * from sysobjects where name = 'T_VRDDUserStoreDynamicStar')
	DROP table T_VRDDUserStoreDynamicStar;
CREATE TABLE T_VRDDUserStoreDynamicStar(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--店铺动态主键id
	userid NVARCHAR(50) NOT NULL,--用户编码【点赞人】
	newsID INT NOT NULL DEFAULT(0), --点赞店铺动态id
	star_date DATETIME NOT NULL DEFAULT(GETDATE()) --点赞时间
);




--度度圈-【动态用户-推送主表】
if exists (select * from sysobjects where name = 'T_VRDDStoreDynamicUser')
	DROP table T_VRDDStoreDynamicUser;
CREATE TABLE T_VRDDStoreDynamicUser(
	specID INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键id
	user_id INT NOT NULL,--用户id【推送用户】
	userid NVARCHAR(50) NOT NULL,--用户编码【推送用户】
	numDay INT NOT NULL DEFAULT(0), --每天推送人数
	numWeek INT NOT NULL DEFAULT(0),--每周推送人数
	pushDate DATE NOT NULL DEFAULT(GETDATE()) --推送时间
);

--度度圈-【动态用户-推送表】
if exists (select * from sysobjects where name = 'T_VRDDStoreDynamicPushUser')
	DROP TABLE T_VRDDStoreDynamicPushUser;
CREATE TABLE T_VRDDStoreDynamicPushUser(
	keyCode NVARCHAR(50) PRIMARY KEY NOT NULL DEFAULT(REPLACE(NEWID(),'-','')),--主键代码
	--specID INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键id
	dy_id INT NOT NULL,--动态id
	user_id INT NOT NULL --用户id【被推荐用户】
);

--度度圈-【规格主表】
if exists (select * from sysobjects where name = 'T_VRDDSpecMain')
	DROP table T_VRDDSpecMain;
CREATE TABLE T_VRDDSpecMain(
	specID INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键id
	fileId INT NOT NULL,--商品id
	specName NVARCHAR(200) NOT NULL,--规格名称
	specMoney  BIT NOT NULL DEFAULT(0),--是否影响价格
	specType NVARCHAR(100) NOT NULL,--类型
	userid NVARCHAR(50) NOT NULL,--用户编码【创建人】
	user_id INT NOT NULL,--创建人id
	note NVARCHAR(500) NULL,--备注
	createName NVARCHAR(50) NOT NULL,--创建人名
	createDate DATETIME NOT NULL DEFAULT(GETDATE()),--创建时间
	updateId INT NULL,--更新人
	updateName NVARCHAR(50) NULL,--更新人名
	updateDate DATETIME NULL --更新时间
);
--度度圈-【规格子表】
if exists (select * from sysobjects where name = 'T_VRDDSpecChild')
	DROP table T_VRDDSpecChild;
CREATE TABLE T_VRDDSpecChild(
	optionID INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--主键id
	fileId INT NOT NULL,--商品id
	specID INT NOT NULL,--规格主表id
	optionName NVARCHAR(200) NOT NULL,--子规格名称
	optionImage NVARCHAR(500) NULL,--子规格图片
	createDate DATETIME NOT NULL DEFAULT(GETDATE()),--创建时间
	updateDate DATETIME NULL --更新时间
);
--度度圈-规格组合表【规格子表的组合】【库存】
if exists (select * from sysobjects where name = 'T_VRDDSpecGroup')
	DROP table T_VRDDSpecGroup;
CREATE TABLE T_VRDDSpecGroup(
	keyCode NVARCHAR(50) PRIMARY KEY NOT NULL DEFAULT(REPLACE(NEWID(),'-','')),--主键代码
	groupCode NVARCHAR(50) NOT NULL,--组合代码【一套规格的组合】
	optionID INT NOT NULL,--规格子表id
	specID INT NOT NULL,--规格主表id
	fileId INT NOT NULL,--商品id
	specMoney BIT NOT NULL DEFAULT(0) --是否影响价格
);
--度度圈-规格组合表【规格子表的组合】【价格】
if exists (select * from sysobjects where name = 'T_VRDDSpecGroupPrice')
	DROP table T_VRDDSpecGroupPrice;
CREATE TABLE T_VRDDSpecGroupPrice(
	keyCode NVARCHAR(50) PRIMARY KEY NOT NULL DEFAULT(REPLACE(NEWID(),'-','')),--主键代码
	groupCode NVARCHAR(50) NOT NULL,--组合代码【一套规格的组合】
	optionID INT NOT NULL,--规格子表id
	specID INT NOT NULL,--规格主表id
	fileId INT NOT NULL--商品id
);
--度度圈-库存表【规格库存表】
if exists (select * from sysobjects where name = 'T_VRDDSpecRepertory')
	DROP table T_VRDDSpecRepertory;
CREATE TABLE T_VRDDSpecRepertory(
	keyCode NVARCHAR(50) PRIMARY KEY NOT NULL DEFAULT(REPLACE(NEWID(),'-','')),--主键代码
	fileId INT NOT NULL,--商品id
	groupCode NVARCHAR(50) NOT NULL,--组合代码【一套规格的组合】
	quantity INT NOT NULL DEFAULT(0) --库存量
);
--度度圈-价格表【商品规格价格表】
if exists (select * from sysobjects where name = 'T_VRDDSpecPrice')
	DROP table T_VRDDSpecPrice;
CREATE TABLE T_VRDDSpecPrice(
	keyCode NVARCHAR(50) PRIMARY KEY NOT NULL DEFAULT(REPLACE(NEWID(),'-','')),--主键代码
	fileId INT NOT NULL,--商品id
	groupCode NVARCHAR(50) NOT NULL,--组合代码【一套规格的组合】
	specMoney DECIMAL(18,2) NOT NULL DEFAULT(0) --价格量
);

--度度圈-【视频动态表】
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'T_VRDDVideoDynamic')
	DROP TABLE T_VRDDVideoDynamic;
CREATE TABLE T_VRDDVideoDynamic(
	newsID INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--动态主键id
	userid NVARCHAR(50) NOT NULL,--用户编码【作者】
	video NVARCHAR(500) NOT NULL,--视频地址 
	image NVARCHAR(500) NOT NULL,--图片地址 
	fileID INT NOT NULL DEFAULT(0),--商品ID（元宇宙房间、元宇宙应用、度度圈商品）；可以传0，表示不关联商品
	fileType INT NOT NULL DEFAULT(0),--商品类别（1=应用，2=房间，3=度度圈商品，0=没有关联商品）
	visitType INT NOT NULL DEFAULT(0),--0=仅自己可见；1=好友可见；2=所有人可见
	gpsX DECIMAL(10,7) NULL,--经度
	gpsY DECIMAL(10,7) NULL,--纬度
	locationName NVARCHAR(200) NULL,--位置名称
	newsStatus INT NOT NULL DEFAULT(0),--视频状态【0：未下架、1：已下架】
	note NVARCHAR(500) NULL,--描述
	starNum INT NOT NULL DEFAULT(0),--被点赞次数
	sharedNum INT NOT NULL DEFAULT(0),--被分享次数
	create_id INT NOT NULL,--创建人id
	create_name NVARCHAR(50) NOT NULL,--创建人名
	create_date DATETIME NOT NULL DEFAULT(GETDATE()),--创建时间
	update_id INT NULL,--更新人
	update_name NVARCHAR(50) NULL,--更新人名
	update_date DATETIME NULL --更新时间
);
--度度圈-【用户-视频动态】点赞表
IF exists (select * from sysobjects where name = 'T_VRDDUserVideoDynamicStar')
	DROP table T_VRDDUserVideoDynamicStar;
CREATE TABLE T_VRDDUserVideoDynamicStar(
	id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,--动态主键id
	userid NVARCHAR(50) NOT NULL,--用户编码【点赞人】
	newsID INT NOT NULL DEFAULT(0), --点赞视频动态id
	star_date DATETIME NOT NULL DEFAULT(GETDATE()) --点赞时间
);
--请求日志表
if exists (select * from sysobjects where name = 'T_VRRequestLog')
	DROP table T_VRRequestLog;
create table T_VRRequestLog(
	logCode NVARCHAR(50) PRIMARY KEY NOT NULL DEFAULT(REPLACE(NEWID(),'-','')),--请求编号
	ip NVARCHAR(30) NULL,--请求ip
	params NVARCHAR(200) NULL,--请求参数
	func NVARCHAR(100) NOT NULL,--请求方法
	requestDate DATETIME NOT NULL DEFAULT(GETDATE()),--异常记录时间
	isSolve BIT NOT NULL DEFAULT(0) --是否成功返回
);

--度度圈：积分来源【汇总表】积分兑换时所使用分数
if exists (select * from sysobjects where name = 'T_VRScoreSourceMain')
	DROP table T_VRScoreSourceMain;
create table T_VRScoreSourceMain(
	logCode NVARCHAR(50) PRIMARY KEY NOT NULL DEFAULT(REPLACE(NEWID(),'-','')),--主键
	userid NVARCHAR(50) NOT NULL,--用户编码
	user_id INT NOT NULL,--用户id
	user_name NVARCHAR(50) NOT NULL,--用户名
	--积分项目【Registration=用户注册、UserSign=用户签到、BrowseVideo=浏览视频、PostVideo=发布视频、
	--Shopping=购买商品、JoinApply=合伙店主、SendInvitation=发出邀请、BeInvited=获得邀请】
	itemType NVARCHAR(50) NOT NULL, --积分项目
	proType NVARCHAR(50) NOT NULl,--产品类别【VCircle=度度圈（默认值）；VMeta=元宇宙】
	inScore DECIMAL(8,2) NOT NULL DEFAULT(0),--收入合计（分数）-注意非积分
	outScore DECIMAL(8,2) NOT NULL DEFAULT(0),--支出合计（分数）-注意非积分
	totalScore DECIMAL(8,2) NOT NULL DEFAULT(0),--余额【分数】--非积分
	scoreNote NVARCHAR(200) NULL, --备注
	createDate DATETIME NOT NULL DEFAULT(GETDATE()), --创建时间
	updateDate DATETIME NOT NULL DEFAULT(GETDATE()) --更新时间
);
--度度圈：积分来源明细【详情表】积分兑换时所使用分数
if exists (select * from sysobjects where name = 'T_VRScoreSourceDetail')
	DROP table T_VRScoreSourceDetail;
create table T_VRScoreSourceDetail(
	logCode NVARCHAR(50) PRIMARY KEY NOT NULL DEFAULT(REPLACE(NEWID(),'-','')),--主键
	userid NVARCHAR(50) NOT NULL,--用户编码
	user_id INT NOT NULL,--用户id
	user_name NVARCHAR(50) NOT NULL,--用户名
	--积分项目【Registration=用户注册、UserSign=用户签到、BrowseVideo=浏览视频、PostVideo=发布视频、
	--Shopping=购买商品、JoinApply=合伙店主、SendInvitation=发出邀请、BeInvited=获得邀请】
	itemType NVARCHAR(50) NOT NULL,--积分项目
	inScore DECIMAL(8,2) NOT NULL DEFAULT(0),--收入（分数）-注意非积分
	outScore DECIMAL(8,2) NOT NULL DEFAULT(0),--支出（分数）-注意非积分
	totalScore DECIMAL(8,2) NOT NULL DEFAULT(0),--余额【分数】--非积分
	proType NVARCHAR(50) NOT NULl,--产品类别【VCircle=度度圈（默认值）；VMeta=元宇宙】
	createDate DATETIME NOT NULL DEFAULT(GETDATE()), --创建时间
	scoreNote NVARCHAR(200) NULL --备注
);
--度度圈：用户积分【汇总表】
if exists (select * from sysobjects where name = 'T_VRTotalScoreMain')
	DROP table T_VRTotalScoreMain;
create table T_VRTotalScoreMain(
	logCode NVARCHAR(50) PRIMARY KEY NOT NULL DEFAULT(REPLACE(NEWID(),'-','')),--主键
	userid NVARCHAR(50) NOT NULL,--用户编码
	user_id INT NOT NULL,--用户id
	user_name NVARCHAR(50) NOT NULL,--用户名
	inGold DECIMAL(8,2) NOT NULL DEFAULT(0),--总收入积分
	outGold DECIMAL(8,2) NOT NULL DEFAULT(0),--总支出积分
	totalGold DECIMAL(8,2) NOT NULL DEFAULT(0),--余额积分
	proType NVARCHAR(50) NOT NULl --产品类别【VCircle=度度圈（默认值）；VMeta=元宇宙】
);
--度度圈：用户积分【明细表】
if exists (select * from sysobjects where name = 'T_VRTotalScoreDetail')
	DROP table T_VRTotalScoreDetail;
create table T_VRTotalScoreDetail(
	logCode NVARCHAR(50) PRIMARY KEY NOT NULL DEFAULT(REPLACE(NEWID(),'-','')),--主键
	userid NVARCHAR(50) NOT NULL,--用户编码
	user_id INT NOT NULL,--用户id
	user_name NVARCHAR(50) NOT NULL,--用户名
	--积分项目【Registration=用户注册、UserSign=用户签到、BrowseVideo=浏览视频、PostVideo=发布视频、
	--Shopping=购买商品、JoinApply=合伙店主、SendInvitation=发出邀请、BeInvited=获得邀请】
	itemType NVARCHAR(50) NOT NULL,--积分项目
	inGold DECIMAL(8,2) NOT NULL DEFAULT(0),--收入积分
	outGold DECIMAL(8,2) NOT NULL DEFAULT(0),--支出积分
	totalGold DECIMAL(8,2) NOT NULL DEFAULT(0),--余额积分
	proType NVARCHAR(50) NOT NULl,--产品类别【VCircle=度度圈（默认值）；VMeta=元宇宙】
	createDate DATETIME NOT NULL DEFAULT(GETDATE()), --创建时间
	scoreNote NVARCHAR(200) NULL --备注
);

--度度圈：用户签到表
if exists (select * from sysobjects where name = 'T_VRUserSignIn')
	DROP table T_VRUserSignIn;
create table T_VRUserSignIn(
	sigCode NVARCHAR(50) PRIMARY KEY NOT NULL DEFAULT(REPLACE(NEWID(),'-','')),--主键
	userid NVARCHAR(50) NOT NULL,--签到用户编码
	createName NVARCHAR(50) NOT NULL,--创建人
	createId INT NOT NULL,--创建人id
	sigDate DATETIME NOT NULL DEFAULT(GETDATE()), --签到时间
	sigcomDay INT NOT NULL DEFAULT(1), --连续签到天数
	isRewarded BIT NOT NULL DEFAULT(0), --是否已获奖励积分
	proType NVARCHAR(50) NOT NULl --产品类别【VCircle=度度圈（默认值）；VMeta=元宇宙】
);
--收货地址表
IF COL_LENGTH('T_VRAddress', 'areaID') IS NULL --  行政区域ID 
BEGIN
 ALTER TABLE dbo.T_VRAddress
 ADD areaID INT NOT NULL DEFAULT(0)
END;






 
